### JDBC学习笔记详解 #### 一、概述JDBC JDBC(Java Database Connectivity)是一种用于执行SQL语句的Java API,它可以为多种关系数据库提供统一的访问接口。JDBC技术的引入,使得Java开发者能够使用相同的Java代码访问不同的数据库,大大提高了代码的可移植性和可重用性。 #### 二、JDBC驱动程序分类 JDBC驱动程序根据其工作方式被分为四类: 1. **JDBC-ODBC Bridge + ODBC驱动**:这是最早期的JDBC实现方式,通过桥接器将JDBC调用转化为ODBC调用,再由ODBC驱动进行数据库访问。虽然可以利用现有的ODBC数据源,但效率和安全性较低,不推荐在生产环境中使用。 2. **基于本地API的部分Java驱动**:这种驱动直接使用数据库的本地协议进行数据交互,然后通过驱动程序中的Java部分将结果返回给应用程序。具有较高的效率,但由于需要本地库的支持,安全性略低。 3. **纯Java的网络驱动**:在这种模式下,应用程序与数据库之间通过一个纯Java的中间服务器进行通信,虽然增加了安全性和跨平台性,但由于存在两次网络传输,效率相对较低。 4. **纯Java本地协议驱动**:采用纯Java代码实现,直接通过数据库的本地协议访问数据库,兼具高效性和安全性,是目前最推荐使用的驱动类型。 #### 三、JDBC编程步骤 JDBC编程主要包括以下几个步骤: 1. **加载和注册数据库驱动**:使用`Class.forName()`方法加载并注册数据库驱动。例如,对于MySQL数据库,可以使用`com.mysql.jdbc.Driver`作为驱动类名。 2. **建立数据库连接**:通过`DriverManager.getConnection()`方法建立数据库连接,需要提供URL、用户名和密码等参数。 3. **创建Statement对象**:创建`Statement`或`PreparedStatement`对象,其中`PreparedStatement`支持参数化的SQL语句,可以提高安全性并避免SQL注入攻击。 4. **执行SQL语句**:通过`Statement`或`PreparedStatement`对象执行SQL语句,如果是查询语句,则使用`executeQuery()`方法;如果是更新、插入或删除语句,则使用`executeUpdate()`方法。 5. **处理结果集**:如果执行的是查询语句,结果将返回一个`ResultSet`对象,可以通过循环遍历该对象获取每一行记录的数据。 #### 四、示例代码 ```java import java.sql.*; public class JdbcExample { public static void main(String[] args) { String driverName = "com.mysql.cj.jdbc.Driver"; String url = "jdbc:mysql://localhost:3306/test"; String username = "root"; String password = ""; Connection conn = null; Statement stmt = null; ResultSet rs = null; try { // 加载驱动 Class.forName(driverName); // 建立连接 conn = DriverManager.getConnection(url, username, password); // 创建Statement对象 stmt = conn.createStatement(); // 执行查询语句 String sql = "SELECT * FROM tableName"; rs = stmt.executeQuery(sql); // 处理结果集 while (rs.next()) { System.out.println(rs.getString("columnName")); } } catch (ClassNotFoundException | SQLException e) { e.printStackTrace(); } finally { // 关闭资源 if (rs != null) try { rs.close(); } catch (SQLException e) {} if (stmt != null) try { stmt.close(); } catch (SQLException e) {} if (conn != null) try { conn.close(); } catch (SQLException e) {} } } } ``` 以上代码展示了如何使用JDBC连接MySQL数据库并执行基本的查询操作。在实际应用中,还需要注意异常处理和资源释放,以确保程序的健壮性和数据库资源的有效管理。
- 粉丝: 0
- 资源: 3
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助