JDBC 即 java 数据库互连,是 java 语言和数据库之间独立于数据库的连接标准 API,JDBC 提供了与各种数据库进行交互的标准方法,允许 Java 应用程序执行 SQL 语句并处理结果。具体的实现需要依赖于具体数据库生产商提供 jar 包【驱动】,提供了统一的接口用于访问不同的底层数据库,允许使用 java 语言编写不同的应用程序以访问数据库。
以下是JDBC编程的基本步骤:
1. 加载并注册JDBC驱动
JDBC驱动是连接Java程序和数据库的桥梁,通常通过调用Class.forName()方法实现
Class.forName("com.mysql.cj.jdbc.Driver");
2. 建立数据库连接
使用DriverManager类的getConnection()方法建立与数据库的连接。
"jdbc:mysql://localhost:3306/mydatabase" 是数据库的URL,username和password是连接数据库所需的用户名和密码。
Connection conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/mydatabase", "username", "password");
3. 创建Statement或PreparedStatement对象
用Connection对象的createStatement()或prepareStatement()方法创建Statement或PreparedStatement 对象。
Statement stmt = conn.createStatement();
// 或者
String sql = "SELECT * FROM mytable WHERE id = ?";
PreparedStatement pstmt = conn.prepareStatement(sql);
pstmt.setInt(1, 123); // 设置参数值
PreparedStatement通常比Statement更优,因为它允许预编译SQL语句并重用,可以提高性能并防止SQL注入攻击
4. 执行SQL语句并处理结果
使用Statement或PreparedStatement对象的executeQuery()或executeUpdate()方法执行SQL语句,并处理结果。对于更新操作(如 INSERT、UPDATE 或 DELETE),使用executeUpdate()方法
ResultSet rs = stmt.executeQuery("SELECT * FROM mytable");
while (rs.next()) {
int id = rs.getInt("id");
String name = rs.getString("name");
// 处理数据...
}
5. 关闭连接和资源。
完成数据库操作后,务必关闭所有的连接和资源,以释放系统资源,通常建议使用try-catch-finally或try-with-resources语句来自动管理资源的关闭。
rs.close(); //关闭ResultSet对象
stmt.close(); //关闭Statement或PreparedStatement对象
conn.close(); 关闭数据库连接
rs.close(); //关闭ResultSet对象
ResultSet是包含从数据库查询返回的数据的对象。每执行一个查询,会得到一个ResultSet对象来遍历查询结果。一旦完成了对ResultSet中数据的处理,就应该关闭它以释放与之关联的系统资源。
stmt.close(); //关闭Statement或PreparedStatement对象
Statement用于执行静态SQL语句,而PreparedStatement用于执行预编译的SQL语句,通常用于参数化查询,以提高性能和安全性。执行完SQL语句后,应该关闭这些对象,以释放与之关联的系统资源
conn.close();//关闭数据库连接
Connection对象代表与数据库的连接。在JDBC编程中,你首先需要建立与数据库的连接,然后才能执行SQL语句。一旦你完成了所有数据库操作,就应该关闭连接,以释放连接资源,并让数据库服务器知道该连接不再需要。