1. JDBC
1.1. JDBC概述
JDBC(Java DataBase Connectivity,java数据库连接)是一种用于执行SQL语句的Java API,可以为多种关系数据库提供统一访问,它由一组用Java语言编写的类和接口组成。JDBC提供了一种基准,据此可以构建更高级的工具和接口,使数据库开发人员能够编写数据库应用程序
1.2. JDBC的作用
使用JDBC向各种关系数据发送SQL语句,也可以直接让Java程序操作数据库;
file:///C:\Users\CHUANG\AppData\Local\Temp\ksohtml\wps8087.tmp.jpg
1.3. JDBC使用步骤
1、注册驱动 2、获取会话对象 3、创建sql语句的执行者
4、编写sql语句 5、执行sql语句,处理结果 6、关闭资源
1.3.1. 注册驱动
注册驱动,就是让程序知道,即将操作的是什么数据库,注册驱动使用的是DriverManager类中的一个静态方法registerDriver,如下:
说明:
① DriverManager用于管理一组JDBC驱动程序的基本服务
② Driver 为数据库驱动,程序连接哪一个数据库,就加载哪一个数据库即可
1.3.2. 获取会话对象
获取会话对象,也就是获取一个连接对象,专门用于给数据库通信,类似于快递员;
获取会话对象同样也是使用DriverManager类中的静态方法getConnection
说明:
① url: 访问数据库的URL路径
② user: 访问数据库的用户名
③ password: 访问数据库的密码
1.3.3. 创建SQL语句的执行者
使用会话对象Connection创建一个sql语句的执行者,用于专门负责执行sql语句,该sql语句执行者有两种格式,一种是处理不带占位符的,另一种是处理带占位符的
处理不带占位符的sql语句执行者使用Connection连接对象中的Statement方法
处理带占位符的sql语句执行者,使用Connection连接对象中的prepareStatement方法
1.3.4. 编写SQL语句
编写一段sql语句来操作数据库,我们可以编写带占位符的sql语句,也可以是编写不带占位符的sql语句
代码格式:标准的sql语句即可
1.3.5. 执行SQL语句,处理结果
对于编写好的sql语句,需要执行后才能有效的更改数据库的数据,所以我们需要使用sql语句的执行者来执行我们的sql语句,需要注意的是:
增加、删除、修改语句的返回结果都是int值,代表影响的行数,只有查询语句的结果是ResultSet
其中增加、删除、修改语句使用的执行方法如下:
int
| executeUpdate(String sql)
执行给定 SQL 语句,该语句可能为 INSERT、UPDATE 或 DELETE 语句,或者不返回任何内容的 SQL 语句(如 SQL DDL 语句)。
|
查询语句使用的执行方法如下:
1.3.6. 关闭资源
使用完资源后,我们要依次关闭结果集、sql语句执行者、会话对象
关闭资源都是使用close方法
1.4. ResultSet解析
一个ResultSet对象对应着一个由查询语句返回的一个表,这个表中包含所有的查询结果,实际上,我们就可以将一个ResultSet对象看成一个表。对ResultSet对象的处理必须逐行进行,而对每一行中的各个列,可以按任何顺序进行处理
ResultSet对象维持一个指向当前行的指针。最初,这个指针指向第一行之前。调用ResultSet类的next()方法使这个指针向下移动一行
file:///C:\Users\CHUANG\AppData\Local\Temp\ksohtml\wps8098.tmp.jpg
next()方法的返回值是一个boolean型的值,该值若为true, 说明结果集中还存在下一条记录,并且指针已经成功指向该记录,可以对其进行处理;若返回值是false,则说明没有下一行记录,结果集已经处理完毕
boolean
| next()
将光标从当前位置向前移一行(向下移动一行,如果有元素会返回true,否则返回false)
|
对每一行数据进行处理,可以采用ResultSet类的getObject()方法获得某一列的检索结果
ResultSet使用步骤说明:
1、先使用next方法,判断结果集中是否还有下一行数据
2、如果有,使用getObject方法传递列名,获取这一行的这一列的某个值
循环上述过程,即可获取结果集中的所有数据
|
|