JDBC体系结构
Java Data Base Connectivity(JDBC),Java数据库连接。
JDBC重要的类和接口
JDBC API 定义了一组用于与数据库进行通信的接口和类,这些接口和类都定义在Java.sql包中。
类或接口 | 作用 |
---|---|
DriverManager | 处理驱动程序的加载和建立新数据库连接 |
Connection | 实现对特定数据库的连接 |
Statement | 表示用于执行静态SQL语句并返回它所生成结果的对象 |
PreparedStatement | 表示用于执行预编译的SQL语句的对象,派生自Statement,预编译SQL效率高且支持参数查询 |
ResultSet | 表示数据库结果集的数据表,通过执行查询数据库的语句生成。 |
DriverManager类
java.sql.DriverManager类,是数据库驱动管理类,用于加载驱动程序,并建立与数据库的连接。
方法名称 | 功能描述 |
---|---|
getConnection(String url) | 用于建立到指定数据库URL的连接。其中url为提供了一种标识数据库位置的方法 |
getConnection(String url,String user,String password) | 用于建立到指定数据库URL的连接。其中url为提供了一种标识数据库位置的方法,user为用户名,password为密码 |
Connection接口
java.sql.Connection接口负责与特定数据库的连接,在连接的上下文中可以执行SQL语句并返回结果。
方法名称 | 功能描述 |
---|---|
createStatement() | 创建并返回一个Statement实例,通常在执行无参数的SQL语句时创建该实例 |
prepareStatement() | 创建并返回一个PreparedStatement实例,通常在执行包含参数的SQL语句时创建该实例,并对SQL语句进行了预编译处理 |
close() | 释放Connection实例占用的数据库和JDBC资源,即关闭数据库连接 |
Statement接口
java.sql.Statement接口执行静态SQL语句,并返回执行结果。
方法名称 | 功能描述 |
---|---|
executeQuery(String sql) | 执行静态SELECT语句,并返回一个ResultSet实例 |
executeUpdate(String sql) | 执行指定的静态INSERT、UPDATE或DELETE语句,并返回一个int型数值,为同步更新记录的条数 |
close() | 立即释放Statement实例占用的数据库和JDBC资源,即关闭Statement实例 |
PreparedStatement接口
java.sql.PreparedStatement 接口执行动态SQL语句,即包含参数的SQL语句,并返回执行结果。
方法名称 | 功能描述 |
---|---|
executeQuery() | 执行前面包含参数的动态,SELECT语句,并返回一个永远不能为null的ResultSet实例 |
executeUpdate() | 执行包含参数的动态INSERT、UPDATE或DELETE语句,并返回一个int型数值,为同步更新记录的条数 |
setXxx() | 为指定参数设置Xxx型值 |
close() | 关闭PreparedStatement实例 |
ResultSet接口
通过该接口的实例可以获得检索结果集,以及对应数据表的相关信息。ResultSet实例是通过执行查询数据库的语句生成。
方法名称 | 功能描述 |
---|---|
first() | 移动指针到第一行;如果结果集为空则返回false,否则返回ture |
last() | 移动指针到最后一行;如果结果集为空则返回false,否则返回ture |
previous() | 移动指针到上一行;如果存在上一行则返回true,否则返回false |
next() | 移动指针到下一行;指针最初位于第一行之前。如果存在下一行则返回true,否则返回false。 |
getRow() | 查看当前行的索引编号;索引编号从 1开始,如果位于有效记录行上则返回一个int型索引编号,否则返回0。 |
close() | 释放ResultSet实例占用的数据库和JDBC资源,当关闭所属的Statement实例时也将执行此操作。 |