Java 数据库操作——JDBC 中常用的类和接口

JDBC 中常用的类和接口

Java 语言中提供了丰富的类和接口用于数据库编程,利用这些类和接口可以方便的进行数据访问和处理。

Collection 接口

Collection 接口代表与特定的数据库的连接,在连接上下文中执行 SQL 语句并返回结果。Collection 接口的常用方法如表:

方 法功 能 描 述
createStatement()创建 Statement 对象
createStatement(int resultSetType, int resultSetConcurrency)创建一个 Statement 对象,该对象将生成具有给定类型、并发性和可保存性的 ResultSet 对象
preparedStatement()创建预处理对象 prepareStatement
isReadOnly()查看当前 Connection 对象的读取模式是否为只读形式
setReadOnly()设置当前 Connection 对象的读写模式,默认是非只读模式
commit()使所有上一次提交 / 回滚后进行的更改为持久更改,并释放此 Connection 对象当前持有的所有数据库锁
close()立即释放此 Connection 对象的数据库和 JDBC 资源,而不是等待它们被自动释放

Statement 接口

Statement 接口用于在已经建立连接的基础上向数据库发送 SQL 语句。在 JDBC 中有 3 种 Statement 对象,分别是 StatementPreparedStatementCallableStatementStatement 对象用于执行不带参数的简单的 SQL 语句:PreparedStatement 继承了 Statement,用来执行动态的 SQL 语句;CallableStatement 继承了 PreparedStatement,用于执行对数据库的存储过程的调用。Statement 接口的常用方法如表:

方 法功 能 描 述
execute(String sql)执行静态的 SELECT 语句,该语句可能返回多个结果集
executeQuery(String sql)执行给定的 SQL 语句,该语句返回单个 ResultSet 对象
clearBatch()清空此 Statement 对象的当前 SQL 命令列表
executeBatch()将一批命令提交给数据库来执行,如果全部命令执行成功,则返回更新计数组成的数组。数组元素的排序与 SQL 语句的添加顺序对应
addBatch(String sql)将给定的 SQL 命令添加到此 Statement 对象的当前命令列表中。如果驱动程序不支持批量处理,将抛出异常
close()释放 Statement 实例占用的数据库和 JDBC 资源

PreparedStatement 接口

PreparedStatement 接口用来动态的执行 SQL 语句。通过 PreparedStatement 实例执行的动态 SQL语句,将被预编译并保存到 PreparedStatement 实例中,从而可以反复的执行该 SQL 语句。PreparedStatement 接口的常用方法如表:

方 法功 能 描 述
setInt(int index, int k)将指定位置的参数设置为 int
setFloat(int index, float f)将指定位置的参数设置为 float
setLong(int index, long l)将指定位置的参数设置为 long
setDouble(int index, double d)将指定位置的参数设置为 double
setBoolean(int index, boolean b)将指定位置的参数设置为 boolean
setDate(int index, date date)将指定位置的参数设置为对应的 date
executeQuery()在此 PreparedStatement 对象中执行 SQL 查询,并返回该查询生成的 ResultSet 对象
setString(int index, String s)将指定位置的参数设置为对应的 String
setNull(int index, intsqlType)将指定位置的参数设置为 SQL NULL
executeUpdate()执行前面包含的参数的动态 INSERT、UPDATE 或 DELETE 语句
clearParameters()清除当前所有参数的值

DriverManager 类

DriverManager 类用来管理数据库中的所有驱动程序。它是 JDBC 的管理层,作用于用户和驱动程序之间,跟踪可用的驱动程序,并在数据库的驱动程序之间建立连接。如果通过 getConnection() 方法可以建立连接,则经连接返回,否则抛出 SQLException 异常。DriverManager 类的常用方法如表:

方 法功 能 描 述
getConnection(String url, String user, String password)指定 3 个入口参数(依次是连接数据库的 URL、用户名、密码)来获取与数据库的连接
setLoginTimeout()获取驱动程序试图登录到某一数据库时可以等待的最长时间,以秒为单位
println(String message)将一条消息打印到当前 JDBC 日志流中

ResultSet 接口

ResultSet 接口类似于一个临时表,用来暂时存放数据库查询操作所获得的结果集。ResultSet 实例具有指向当前数据行的指针,指针开始的位置在第一条记录的前面,通过 next() 方法可将指针向下移。

JDBC 2.0(JDK 1.2) 之后,该接口添加了一组更新方法 updateXXX(),该方法有两个重载方法,可根据列的索引号和列的名称来更新指定列。但该方法并没有将对数据进行的操作同步到数据库中,需要执行 updateRow()insertRow() 方法更新数据库。ResultSet 接口的常用方法如表:

方 法功 能 描 述
getInt()int 形式获取此 ResultSet 对象的当前行的指定列值。如果列值是 NULL,则返回值是 0
getFloat()float 形式获取此 ResultSet 对象的当前行的指定列值。如果列值是 NULL,则返回值是 0
getDate()date 形式获取此 ResultSet 对象的当前行的指定列值。如果列值是 NULL,则返回值是 0
getBoolean()Boolean 形式获取此 ResultSet 对象的当前行的指定列值。如果列值是 NULL,则返回值是 0
getString()String 形式获取此 ResultSet 对象的当前行的指定列值。如果列值是 NULL,则返回值是 0
getObject()Object 形式获取此 ResultSet 对象的当前行的指定列值。如果列值是 NULL,则返回值是 0
first()将指针移动到当前记录的第一行
last()将指针移动到当前记录的最后一行
next()将指针向下移一行
beforeFirst()将指针移到集合的开头(第一行位置)
afterLast()将指针移到集合的尾部(最后一行位置)
absolute(int index)将指针移到 ResultSet 给定编号的行
isFirst()判断指针是否位于当前 ResultSet 集合的第一行。如果是返回 true,否则返回 false
isLast()判断指针是否位于当前 ResultSet 集合的最后一行。如果是返回 true,否则返回 false
updateInt()int 值更新指定列
updateFloat()float 值更新指定列
updateLong()用指定的 long 值更新指定列
updateString()用指定的 String 值更新指定列
updateObject()Object 值更新指定列
updateNull()将指定的列修改为 NULL
updateDate()用指定的 date 值更新指定列
updateDouble()用指定的 double 值更新指定列
getrow()查看当前的索引号
insertRow()将插入行的内容插入到数据库
updateRow()将当前行的内容同步到数据表
deleteRow()删除当前行,但并不同步到数据库中,而是在执行 close() 方法后同步到数据库
  • 5
    点赞
  • 17
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
播报频率和波形参数。我们可以使用百度语音合成API来实现语音合成,该API使用 JDBC 连接 Access 数据库,需要先下载 Microsoft 的 JDBC-ODBC 驱动,然后进行以下步骤: 1.可以将文本转换为语音,并以MP3格式进行下载。我们可以使用以下代码来实现语音合成 安装 Access 数据库并创建一个数据库文件(后缀为 .mdb 或 .accdb)。 2. 下载并安装: ```python import urllib.request import json def text_to_speech(text, filename): api_key = 'Your API Key Microsoft Access Database Engine。 3. 在系统的 ODBC 数据源管理器添加一个数据源,选择 Microsoft Access Driver (*.mdb, *.accdb)。 4. 按照提示填写数据源名称和数据库文件路径等信息。 5. 在 Java 代码使用 JDBC 连接 Access 数据库,示例代码如下: ```java import java.sql.*; public class AccessJDBC { public static void main(String[] args) { Connection conn = null; Statement stmt = null; ResultSet rs = null; try { // 加载 JDBC 驱动 Class.forName("sun.jdbc.odbc.JdbcOdbcDriver"); // 连接数据库 String url = "jdbc:odbc:myAccessDB"; String user = ""; String password = ""; conn = DriverManager.getConnection(url, user, password); // 执行 SQL 查询 String sql = "SELECT * FROM myTable"; stmt = conn.createStatement(); rs = stmt.executeQuery(sql); // 处理查询结果 while (rs.next()) { System.out.println(rs.getString("id") + ", " + rs.getString("name")); } } catch (ClassNotFoundException e) { e.printStackTrace(); } catch (SQLException e) { e.printStackTrace(); } finally { // 关闭资源 try { if (rs != null) rs.close(); if (stmt != null) stmt.close(); if (conn != null) conn.close(); } catch (SQLException e) { e.printStackTrace(); } } } } ``` 其,url 参数的值应该与 ODBC 数据源管理器设置的数据源名称相同。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值