学科分类
目录
Java Web

JDBC常用API

在开发JDBC程序前,先了解一下JDBC常用的API。JDBC API主要位于java.sql包中,该包定义了一系列访问数据库的接口和类,具体如下:

1、Driver接口

Driver接口是所有JDBC驱动程序必须实现的接口,该接口专门提供给数据库厂商使用。在编写JDBC程序时,必须要把指定数据库驱动程序或类库加载到项目的classpath中。

2、DriverManager类

DriverManager类用于加载JDBC驱动并且创建与数据库的连接。在DriverManager类中,定义了两个比较重要的静态方法,如表1所示。

表1 DriverManager类的方法

方法名称 功能描述
registerDriver(Driver driver) 该方法用于向DriverManager中注册给定的JDBC驱动程序
getConnection(String url,String user,String pwd) 该方法用于建立和数据库的连接,并返回表示连接的Connection对象

3、Connection接口

Connection接口代表Java程序和数据库的连接,在Connection接口中,定义了一系列方法,具体如表2所示。

表2 Connection接口的方法

方法名称 功能描述
getMetaData() 该方法用于返回表示数据库的元数据的DatabaseMetaData对象
createStatement() 用于创建一个Statement对象来将SQL语句发送到数据库
prepareStatement(String sql) 用于创建一个PreparedStatement对象来将参数化的SQL语句发送到数据库
prepareCall(String sql) 用于创建一个CallableStatement对象来调用数据库存储过程

4、Statement接口

Statement接口用于向数据库发送SQL语句,在Statement接口中,提供了3个执行SQL语句的方法,具体如表3所示。

表3 Statement接口的方法

方法名称 功能描述
execute(String sql) 用于执行各种SQL语句,该方法返回一个boolean类型的值,如果为true,表示所执行的SQL语句具备查询结果,可通过Statement的getResultSet()方法获得查询结果
executeUpdate(String sql) 用于执行SQL中的insert、update和delete语句。该方法返回一个int类型的值,表示数据库中受该SQL语句影响的记录的数目
executeQuery(String sql) 用于执行SQL中的select语句,该方法返回一个表示查询结果的ResultSet对象

5、PreparedStatement接口

PreparedStatement是Statement的子接口,用于执行预编译的SQL语句。在PreparedStatement接口中,提供了一些基本操作的方法,具体如表4所示。

表4 PreparedStatement 接口的方法

方法名称 功能描述
executeUpdate() 在此PreparedStatement对象中执行 SQL 语句,该语句必须是一个DML语句或者是无返回内容的SQL 语句,比如 DDL 语句
executeQuery() 在此PreparedStatement对象中执行 SQL 查询,该方法返回的是ResultSet对象
setInt(int parameterIndex, int x) 将指定参数设置为给定的int值
setFloat(int parameterIndex, float x) 将指定参数设置为给定的float值
setString(int parameterIndex, String x) 将指定参数设置为给定的String值
setDate(int parameterIndex, Date x) 将指定参数设置为给定的Date值
addBatch() 将一组参数添加到此PreparedStatement对象的批处理命令中
setCharacterStream(parameterIndex, reader, length) 将指定的输入流写入数据库的文本字段
setBinaryStream(parameterIndex, x, length) 将二进制的输入流数据写入到二进制字段中

需要注意的是,表4中的setDate()方法可以设置日期内容,但参数Date的类型是java.sql.Date,而不是java.util.Date。

6、 CallableStatement 接口

CallableStatement是PreparedStatement的子接口,用于执行SQL存储过程。在CallableStatement接口中,提供了一些基本操作的方法,具体如表5所示。

表5 CallableStatement接口的方法

方法名称 功能描述
registerOutParameter(int parameterIndex, int sqlType) 按顺序位置将 OUT 参数注册为SQL类型。其中,parameterIndex表示顺序位置,sqlType表示SQL类型
setNull(String parameterName, int sqlType) 将指定参数设置为SQL类型的 NULL
setString(String parameterName, String x) 将指定参数设置为给定的Java类型的String 值
wasNull() 查询最后一个读取的 OUT 参数是否为 SQL类型的 NULL
getInt(int parameterIndex) 以 Java语言中 int 值的形式获取指定的数据库中 INTEGER类型参数的值

需要注意的是,由于CallableStatement接口继承了PreparedStatement,PreparedStatement接口又继承了Statement,因此CallableStatement接口中除了拥有自己特有的方法,也同时拥有了这两个父接口中的方法。

7、ResultSet接口

ResultSet接口表示select查询语句得到的结果集,该结果集封装在一个逻辑表格中。在ResultSet接口内部有一个指向表格数据行的游标,ResultSet对象初始化时,游标在表格的第一行之前。表6列举了ResultSet接口中的常用方法。

表6 ResultSet接口的方法

方法名称 功能描述
getString(int columnIndex) 用于获取指定字段的String类型的值,参数columnIndex代表字段的索引
getString(String columnName) 用于获取指定字段的String类型的值,参数columnName代表字段的名称
getInt(int columnIndex) 用于获取指定字段的int类型的值,参数columnIndex代表字段的索引
getInt(String columnName) 用于获取指定字段的int类型的值,参数columnName代表字段的名称
getDate(int columnIndex) 用于获取指定字段的Date类型的值,参数columnIndex代表字段的索引
getDate(String columnName) 用于获取指定字段的Date类型的值,参数columnName代表字段的名称
next() 将游标从当前位置向下移一行
absolute(int row) 将游标移动到此 ResultSet 对象的指定行
afterLast() 将游标移动到此 ResultSet 对象的末尾,即最后一行之后
beforeFirst() 将游标移动到此 ResultSet 对象的开头,即第一行之前
previous() 将游标移动到此 ResultSet 对象的上一行
last() 将游标移动到此 ResultSet 对象的最后一行

从表6可以看出,ResultSet接口中定义了大量的getXxx()方法,采用哪种getXxx()方法取决于字段的数据类型。程序既可以通过字段的名称来获取指定数据,也可以通过字段的索引来获取指定的数据,字段的索引是从1开始编号的。

上面相继列出了JDBC常用API,在这里只需了解即可,这些方法的使用将在下面进行详细的讲解。

点击此处
隐藏目录