4.11.1 如何通过 JDBC 访问数据库
Java 数据库连接(Java DataBase Connectivity,JDBC)用于在 Java 程序中实现数据库操作功能,它提供了执行 SQL 语句、访问各种数据库的方法,并为各种不同的数据库提供统一的操作接口,java.sql 包中包含了 JDBC 操作数据库的所有类。通过 JDBC 访问数据库一般有如下几个步骤:
1)加载 JDBC 驱动器。将数据库的 JDBC 驱动加载到 classpath 中,在基于 JavaEE 的 Web 应用开发过程中,通常要把目标数据库产品的 JDBC 驱动复制到 WEB-INF/lib 下。
2)加载 JDBC 驱动,并将其注册到 DriverManager 中。一般使用反射 Class.forName(String driveName)。
3)建立数据库连接,取得 Connection 对象。一般通过 DriverManager.getConnection(url,username,passwd)方法实现,其中,url 表示连接数据库的字符串,username 表示连接数据库的用户名,passwd 表示连接数据库的密码。
4)建立 Statement 对象或是 PreparedStatement 对象。
5)执行 SQL 语句。
6)访问结果集 ResultSet 对象。
7)依次将 ResultSet、Statement、PreparedStatement、Connection 对象关闭,释放掉所占用资源,例如 rs.close(),con.close()等。为什么要这么做呢?原因在于 JDBC 驱动在底层通常都是通过网络 IO 实现 SQL 命令与数据传输的。
3.提供 Java 存取数据库能力的包是( )。
A.java.sql B.java.awt C.java.lang D.java.swing
答案:A。对数据库操作的所有类都在 java.sql 包中。
4.11.2 JDBC 处理事务采用什么方法
一个事务是由一条或多条对数据库操作的 SQL 语句所组成的一个不可分割的工作单元,只有当事务中的所有操作都正常执行完了,整个事务才会被提交给数据库。在 JDBC 中,一般是通过 commit()方法或 rollback()方法来结束事务的操作。其中 commit()方法表示完成对事务的提交,rollback()方法表示完成事务回滚,多用于在处理事务的过程中出现了异常的情况,这两种方法都位于 java.sql.Connection 类中。一般而言,事务默认操作是自动提交,即操作成功后,系统将自动调用 commit()方法,否则将调用 rollback()方法。
当然,在 JDBC 中,也可以通过调用 setAutoCommit(false)方法来禁止自动提交,然后就可以把多个数据