Java JDBC教程:MySQL数据库的增删改查操作详解

版权申诉
5星 · 超过95%的资源 22 下载量 26 浏览量 更新于2024-09-11 3 收藏 326KB PDF 举报
本文档详细介绍了如何使用Java JDBC连接MySQL数据库实现增删改查操作。JDBC是Java应用程序与关系型数据库交互的基础技术,对于Java开发者来说是入门必备的知识。虽然在实际项目中,许多开发者倾向于使用更高级的ORM框架如Hibernate或Mybatis,但理解JDBC底层原理有助于深入学习和优化这些框架。 首先,确保您的开发环境已经准备就绪,包括Java语言、Eclipse开发工具、MySQL数据库以及数据库管理工具Navicat。在数据库中,创建一个新的数据库并添加一张测试表,包含一个自增的主键ID和其他字段,用于后续的操作演示。 接下来,重点是连接数据库的过程。通过JDBC的DriverManager类,你需要完成以下步骤: 1. 加载驱动:使用`Class.forName()`方法加载MySQL的JDBC驱动,确保已将JDBC驱动添加到项目的类路径中,这里使用的驱动是`com.mysql.jdbc.Driver`。 2. 获取连接:定义数据库的URL(连接字符串)、用户名和密码,然后使用`DriverManager.getConnection()`方法获取数据库连接。在这个例子中,URL为`jdbc:mysql://127.0.0.1:3306/imooc`,用户名和密码均为`root`。 ```java String URL = "jdbc:mysql://127.0.0.1:3306/imooc"; String UNAME = "root"; String PWD = "root"; try { Class.forName("com.mysql.jdbc.Driver"); conn = DriverManager.getConnection(URL, UNAME, PWD); } catch (ClassNotFoundException | SQLException e) { // 处理异常 } ``` 在`DBUtil`类中,作者封装了这些操作,以便在DAO层(Data Access Object)中更方便地获取数据库连接。这一步骤简化了数据库操作的重复性,并提高了代码的可重用性。 接下来,您可以根据需求编写增删改查的SQL语句,例如插入数据: ```java String sqlInsert = "INSERT INTO your_table_name (column1, column2, ...) VALUES (?, ?, ...)"; PreparedStatement pstmt = conn.prepareStatement(sqlInsert); pstmt.setString(1, value1); pstmt.setString(2, value2); //...设置其他参数 pstmt.executeUpdate(); ``` 删除数据: ```java String sqlDelete = "DELETE FROM your_table_name WHERE id = ?"; PreparedStatement pstmt = conn.prepareStatement(sqlDelete); pstmt.setInt(1, id); pstmt.executeUpdate(); ``` 更新数据: ```java String sqlUpdate = "UPDATE your_table_name SET column1 = ?, column2 = ? WHERE id = ?"; PreparedStatement pstmt = conn.prepareStatement(sqlUpdate); pstmt.setString(1, newValue1); pstmt.setString(2, newValue2); pstmt.setInt(3, id); pstmt.executeUpdate(); ``` 查询数据: ```java String sqlSelect = "SELECT * FROM your_table_name WHERE condition"; Statement stmt = conn.createStatement(); ResultSet rs = stmt.executeQuery(sqlSelect); while (rs.next()) { // 读取结果集 } ``` 总结,这篇文章为Java开发者提供了一个实际操作的例子,展示了如何使用JDBC进行基本的MySQL数据库操作。理解并熟练掌握这些基础操作是进一步深入学习ORM框架的基础,同时也有助于解决数据库相关的编程问题。