MySQL最新教程通俗易懂--JDBC详解笔记
在JDBC中,我们通常会使用DriverManager来获取数据库连接,并使用Statement、PreparedStatement或CallableStatement对象执行SQL语句,并使用ResultSet对象处理查询结果。
以下是一个简单的JDBC示例代码,演示了如何连接MySQL数据库,执行查询并处理结果:
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
public class JdbcExample {
public static void main(String[] args) {
// 数据库连接URL,用户名和密码
String url = "jdbc:mysql://localhost:3306/数据库名";
String user = "用户名";
String password = "密码";
// 数据库连接
Connection conn = null;
try {
// 加载MySQL JDBC驱动程序
Class.forName("com.mysql.cj.jdbc.Driver");
// 获取数据库连接
conn = DriverManager.getConnection(url, user, password);
// 创建Statement对象
Statement stmt = conn.createStatement();
// 执行查询
ResultSet rs = stmt.executeQuery("SELECT * FROM 表名");
// 处理结果
while (rs.next()) {
// 获取并打印数据
System.out.println(rs.getString("列名"));
}
// 关闭结果集
rs.close();
// 关闭Statement
stmt.close();
} catch (ClassNotFoundException | SQLException e) {
e.printStackTrace();
} finally {
// 关闭连接
try {
if (conn != null && !conn.isClosed()) {
conn.close();
}
} catch (SQLException ex) {
ex.printStackTrace();
}
}
}
}
在实际应用中,应该使用try-with-resources语句自动关闭资源,避免了显式关闭的需要,并且确保异常处理的简洁性。此外,应该使用预编译的PreparedStatement来防止SQL注入攻击,并且通常会用到数据库连接池来管理数据库连接。
评论已关闭