本文共 2580 字,大约阅读时间需要 8 分钟。
JDBC(Java Database Connectivity)是Java语言连接数据库的标准API,通过 JDBC 驱动程序实现不同数据库的连接。尽管支持数据库具体实现的不同,但 JDBC 提供统一的操作接口,允许开发者根据数据库类型调整连接方式。
确保项目中包含相应的 JDBC 驱动类文件。例如,MySQL 驱动包通常来自 com.mysql.jdbc.Driver
。如果原文提到的图片链接内容干扰,请忽略图片路径,仅保留核心内容。
使用 Class.forName("com.mysql.jdbc.Driver")
动态加载驱动程序。
调用 DriverManager.getConnection()
方法获取数据库连接对象。注意:确保数据库服务已经运行。
Connection con = DriverManager.getConnection("jdbc:mysql://localhost:3306/test", "root", "你的密码");
使用 Statement
或 PreparedStatement
进行数据库操作。
使用 ResultSet
类处理查询结果,注意使用列名而非固定序号。
使用 try-with-resources
语法或手动关闭 ResultSet
、Statement
和 Connection
资源,以避免资源泄漏。
使用 PreparedStatement
预编译 SQL 语句,或者使用参数化查询方式。
禁用自动提交模式,使用事务的 COMMIT
和 ROLLBACK
操作。
使用 Statement.executeQuery()
和 Statement.executeUpdate()
的批处理方式。
通过 try-catch
块处理 ClassNotFoundException
、SQLException
等异常。
使用参数化查询或预编译语句,避免直接在 SQL 语句中拼接用户输入。
使用 Statement.addBatch()
来批量执行 SQL 操作,提升性能。
关闭自动提交,默认开启事务模式进行批量操作。
通过 ResultSetMetaData
获取列名,避免依赖固定序号。
package JDBC;import java.sql.*;public class DB { public static void main(String[] args) { try { String driver = "com.mysql.jdbc.Driver"; String url = "jdbc:mysql://localhost:3306/test"; String user = "root"; String password = "你的密码"; Class.forName(driver).newInstance(); Connection con = DriverManager.getConnection(url, user, password); if (!con.isClosed()) { System.out.println("成功连接到数据库"); } Statement statement = con.createStatement(); String sql = "SELECT * FROM user"; ResultSet rs = statement.executeQuery(sql); System.out.println("查询结果如下:"); while (rs.next()) { System.out.println("id: " + rs.getString("id") + ",姓名: " + rs.getString("name") + ",密码: " + rs.getString("pw") + ",住址: " + rs.getString("address") + ",手机号: " + rs.getString("phone")); } rs.close(); con.close(); } catch (Exception e) { e.printStackTrace(); } }}
通过以上方法,可以实现对数据库的稳定连接和操作。如果需要更多 JDBC 技巧或数据库开发实例,请参考相关文档或深入学习 JDBC API。
转载地址:http://ulvzz.baihongyu.com/