JDBC—02—jdbc的使用流程; ResultSet 讲解

 


 

一、 JDBC 的使用

通过反射机制加载数据库驱动程序 → 使用DriverManager建立数据库连接 Connection → 创建执行SQL的语句Statement → 处理执行结果 ResultSet → 释放资源

 

拓展:

jdbc启动流程:
1、注册驱动
2、获取连接
3、执行sql
4、处理结果(查询操作,需要用resultSet这个游标处理)
5、释放资源

mybatis启动流程:
1、加载核心配置文件
2、构建工厂
3、打开session(接口绑定时,打开session后,还要打开mapper)
4、执行sql
5、释放资源

使用JDBC要导入两个jar 包:
1、jdbc 的jar包,这里面主要定义了java.sql.Driver接口的属性和方法
2、mysql-connect-java的jar包,这里主要定义了对Driver接口的实现类,这个实现类也叫数据库驱动,不同数据库的数据库驱动是不一样的。

 

 

 

1.下载数据库驱动

  1.1MySQL 驱动

  https://dev.mysql.com/downloads/connector/j/

  由于我的MySQL是8.0.17的,所以要安装8.0的JDBC;

 我们选择platform independent(独立于平台),  然后选择.ZIP Archive格式即可;

下载完成后, 我们把jar包提取出来,  放到eclipse的项目中的lib文件夹,  然后build path就可以使用JDBC了!

2.创建项目添加驱动

3.通过 Statement 向表中插入数据

  //注册驱动(通过反射,调用数据库驱动类;)

  //获取连接

   "jdbc:数据库类型://数据库存储位置:数据库端口号/连接哪一个数据库?数据库编码格式", "用户名", "密码"

   "jdbc:mysql://localhost:3306/test2?useUnicode=true&characterEncoding=utf-8&useSSL=false&serverTimezone =GMT","root"."root"

  //执行 SQL

  //释放资源

 

4.Statement 对象修改表中的数据

 

 

5.封装 JDBC 工具类

5.1普通版

  • 什么是封装呢?就是把公有的、每个类都会用的方法提取出来,封装到一个新的类中;而这次,我们就是要把公有的方法封装到JDBCUtil工具类中;
  • static代码块的代码制只在类初始化时被执行一次;
  • 一般这个类的方法都是static的, 方便使用类名直接调用;

5.1.1工具类代码

 

5.2升级版

5.2.1工模具类代码

(1)properties文件如何创建:

就是普通的file, 只要把文件后缀改为.properties就可;

(2)properties文件注意:

  1. 创建位置要和 `包` 同级, 即都放在src目录下;
  2. 文件内容是 `键=值` 形式;
  3. .properties是文本文件, 所以没有必要给值添加双引号和分号;
  4. 使用getBundle()引用文件时, 没有必要写后缀, 只要写文件名称即可;

 

 

 

 

 

 

6.通过 Statement 对象查询数据

6.1代码

//使用statement对象增删改查数据, 

//查询 Departmetns 表中部门 ID 为 1 的部门信息

 

 

二、ResultSet

1.ResultSet 讲解

我们去数据库查询数据时, 返回的结果都在数据库内存中存着呢, 返回的resultset只是一个指针, 它指向了数据库的内存,

通过next(), 我们可以不断的指向下一块内存, 然后使用get方法读取内存中的数据, 然后直至全部内存都被指到;

(注意 ResultSet 中封装的并不是我们查询到的所有的结果集,而是返回了查询到的结果集的数据库游标。通过 ResultSet 中的 next()方法操作游标的位置获取结果集。)

 

2.通过 ResultSet 实现逻辑分页

物理分页:物理分页依赖的是某一物理实体,这个物理实体就是数据库,比如MySQL数据库提供了limit关键字,程序员只需要编写带有limit关键字的SQL语句,数据库返回的就是分页结果。比如limit(5,3),就是从第五条数据开始查,一共查三条数据,limit()控制了结果集的数量

逻辑分页:并不控制结果集的数量,所有的结果集都返回在内存中,但是使用逻辑分页选取部分结果集达到一个返回部分结果集的效果,即逻辑分页。

 

 

 

 

posted @ 2019-09-24 18:20  Eric-Shen  阅读(736)  评论(0编辑  收藏  举报