当前位置: 首页 > news >正文

南宁企业网站制作模板深圳seo关键词优化外包公司

南宁企业网站制作模板,深圳seo关键词优化外包公司,布吉网站建设哪家便宜,wordpress女性主题目录 ♫什么是JDBC ♫JDBC常用接口和类 ♪Connection接口 ♪Statement对象 ♪ResultSet对象 ♫JDBC的使用 ♪添加“驱动包” ♪创建数据源,描述数据库服务器在哪 ♪和数据库服务器建立连接 ♪构建SQL语句 ♪执行SQL语句 ♪释放资源 ♫什么是JDBC 我们前面操…

目录

♫什么是JDBC

♫JDBC常用接口和类

♪Connection接口

♪Statement对象

♪ResultSet对象

♫JDBC的使用

♪添加“驱动包”

♪创建数据源,描述数据库服务器在哪

♪和数据库服务器建立连接

♪构建SQL语句

♪执行SQL语句

♪释放资源


♫什么是JDBC

我们前面操作数据库都是使用数据库自带的客户端通过网络访问数据库服务器,而要想通过代码来访问数据库服务器就需要自己实现一个数据库客户端(各种数据库都提供了一系列API可以使我们较为方便地实现一个客户端),而由于不同数据库提供的API不同,在Java领域就有大佬出来将这些API统一成一套:JDBC,每个数据库也都提供了能够适应JDBC的“驱动包”(API的具体实现)。JDBC这套API已经成为Java标准库的一部分,它屏蔽了不同数据库原生API之间的差异,使用一套API规范了不同数据库的编程操作。

♫JDBC常用接口和类

♪Connection接口

Connection 接口用于和数据库服务器建立连接,它的实现类由数据库提供,获取 Connection 对象通常有两种方式:
♩通过DriverManager(驱动管理类)的静态方法获取:
// 加载JDBC驱动程序
Class.forName("com.mysql.jdbc.Driver");
// 创建数据库连接
Connection connection = DriverManager.getConnection(url);
♩通过DataSource(数据源)对象获取:
        //1.创建数据源,描述数据库服务器在哪//创建实例DataSource dataSource = new MysqlDataSource();//设置数据库所在的位置((MysqlDataSource)dataSource).setUrl("jdbc:mysql://127.0.0.1:3306/test?characterEncoding=utf8&useSSL=false");//设置数据库的用户名((MysqlDataSource)dataSource).setUser("root");//设置数据库的密码((MysqlDataSource)dataSource).setPassword("123456");//2.和数据库服务器建立连接//记录哪个和哪个要进行通信了Connection connection = dataSource.getConnection();

注:DriverManager类来获取的Connection连接,需要用到反射且是无法重复利用的;而DataSource提供连接池的支持,使用完会被线程池回收。

♪Statement对象

Statement 对象主要将 SQL语句发送到数据库中,每个Statement对象都通过Connection对象创建。Statement对象可以是普通的Statement(用于执行静态SQL语句)、PreparedStatement(是预编译的Statement对象,用于执行预编译的SQL语句)和CallableStatement(用于调用存储过程的Statement对象)。Statement对象中还有有两种执行SQL的方法:

♩executeQuery():执行后返回单个结果集,常用于select语句

♩executeUpdate():执行后返回受影响行数,常用于update、insert、delete语句

♪ResultSet对象

使用JDBC时,执行SQL查询会返回一个结果集。ResultSet是一个包含查询结果的表格,包括行和列。可以使用ResultSet接口检索和处理这些行和列,以便在Java应用程序中使用这些数据。

♫JDBC的使用

♪添加“驱动包”

要想使用JDBC需要到数据库的官网或者是“中央仓库”去下载对应数据库版本的“驱动包”,然后在idea项目下创建一个新目录,将“驱动包”拷贝到目录里,再右键选择Add as Library...键将“驱动包”作为库添加到当前项目中即可。

添加好“驱动包”后就可以开始JDBC编程了~

♪创建数据源,描述数据库服务器在哪

创建数据源可以使用DriverManger和DataSource两种,由于反射不属于常规编程手段,故这里采用DataSource的方法:

 //1.创建数据源,描述数据库服务器在哪//创建实例DataSource dataSource = new MysqlDataSource();//设置数据库所在的位置((MysqlDataSource)dataSource).setUrl("jdbc:mysql://127.0.0.1:3306/test?characterEncoding=utf8&useSSL=false");//设置数据库的用户名((MysqlDataSource)dataSource).setUser("root");//设置数据库的密码((MysqlDataSource)dataSource).setPassword("1234");

注:MySQL数据连接的URL参数格式为: jdbc:mysql://服务器地址:端口/数据库名?参数名=参数值

♪和数据库服务器建立连接

描述数据库服务器在哪后就可以和服务器建立连接了,通过dataSource的getConnection获取连接对象:

 //2.和数据库服务器建立连接//记录哪个和哪个要进行通信了Connection connection = dataSource.getConnection();

♪构建SQL语句

连接好服务器就可以构建要执行的SQL语句了,可以直接通过字符串常量构建SQL语句:

 //3.构造sql语句//描述sql是什么样子的String sql = "insert into student values(1,‘张三’)";//jdbc中还需要搭配一个特点的对象,来描述这里的sql的情况PreparedStatement statement = connection.prepareStatement(sql);

还可以通过输入的方式动态构建SQL语句:

 Scanner scanner = new Scanner(System.in);int id = scanner.nextInt();String name = scanner.next();//?为占位符,下标从1开始String sql = "insert into student values(?,?)";PreparedStatement statement = connection.prepareStatement(sql);//将id填充到第一个占位符statement.setInt(1,id);//将name填充到第二个占位符statement.setString(2,name);

注:一般不介意采用字符串拼接的方式构建SQL语句,不仅代码的可读性低,而且容易遭受SQL注入攻击

♪执行SQL语句

构建完SQL语句就可以让服务器执行对应的SQL语句了,增删改通过executeQuery()放回变更的行数,查询通过executeUpdate()放回查询的结果集:

♩增删改

 String sql = "insert into student values(1,‘张三’)";PreparedStatement statement = connection.prepareStatement(sql);//4.执行sql//给服务器发送网络请求int len = statement.executeUpdate();

♩查询

 String sql = "select * from student";PreparedStatement statement = connection.prepareStatement(sql);ResultSet resultSet = statement.executeQuery();//遍历结果集while (resultSet.next()) {int id = resultSet.getInt("id");String name = resultSet.getString("name");System.out.println(id + ":" + name);}

♪释放资源

操作完之后需要断开连接,释放资源:

        try {if (resultSet != null) {resultSet.close();}if (statement != null) {statement.close();}if (connection != null) {connection.close();}} catch (SQLException e) {e.printStackTrace();throw new RuntimeException("数据库错误");}

http://www.tj-hxxt.cn/news/91029.html

相关文章:

  • 西安网络推广外包杭州seo推广优化公司
  • 刷单类网站开发王通seo教程
  • 网站建设要做哪些查询网站
  • 注册网站商标多少钱百度统计app下载
  • 做的网站怎样评估价值百度推广点击软件
  • 如何把网站放在根目录网站推广优化的方法
  • 品牌推广总监关键词优化包年推广
  • 网站域名收费吗短视频剪辑培训班多少钱
  • 做网站是怎么收费的是按点击率国内做网站比较好的公司
  • 太仓智能网站开发百度用户服务中心电话
  • 潍坊市住房和城乡建设局网站it学校培训学校哪个好
  • 宁德营销型网站建设seo营销推广平台
  • 独立做网站前后端百度网盘账号登录入口
  • 苗木网站素材互联网营销的方式有哪些
  • 织梦后台如何做网站地图网络推广营销培训机构
  • 大连网站制作公司太原好的网站制作排名
  • 汽车类网站seo搜索引擎优化怎么优化
  • wordpress用户中心模板说说seo论坛
  • 国外做游戏h动画的网站百度网址大全网站大全
  • wordpress支持手机版百度首页排名优化公司
  • 陕西整站关键词自然排名优化渠道推广
  • 网站建设 中企动力医院最近发生的新闻大事
  • 网站里的动态是如何制作化工网站关键词优化
  • 网站建设书网络优化报告
  • wordpress 升级后 插件杭州seo网站推广
  • 网站开发月薪2020国内十大小说网站排名
  • 代理公司注册的价格西安seo黑
  • 福田网站制作公司网站设计费用
  • 做网站都需要什么人团免费单页网站在线制作
  • 各类网站网站建设的目标是什么意思全国前十名小程序开发公司