使用 JDBC 连接 MySQL 数据库
1.Java 连接 MySQL 需要驱动包
MySQL 对应驱动支持版本如下,可进入 http://dev.mysql.com/downloads/connector/j/ 下载合适版本后在项目中导入 jar 包。
驱动版本 | JDBC 版本 | MySQL 版本 | JDK 版本 |
---|---|---|---|
5.1 | 3.0、4.0、4.1、4.2 | 5.6、5.7、8.0 | JDK 5.0 和 JDK 8.0 或更高版本 |
8.0 | 4.2 | 5.6、5.7、8.0 | JDK 8.0 或更高版本 |
2.加载驱动
// MySQL 8.0 以下版本
Class.forName("com.mysql.jdbc.Driver");
// MySQL 8.0 以上版本
Class.forName("com.mysql.cj.jdbc.Driver");
3.连接数据库
// 数据库的用户名与密码
String username = "root";
String password = "123456";
// MySQL 8.0 以下版本
String url = "jdbc:mysql://127.0.0.1:3306/databasename";
Connection connection = DriverManager.getConnection(url, username, password);
// MySQL 8.0 以上版本
// MySQL 8.0 以上版本不需要建立 SSL 连接的,需要显示关闭。
// allowPublicKeyRetrieval=true 允许客户端从服务器获取公钥。
// 最后还需要设置 CST。
String url = "jdbc:mysql://127.0.0.1:3306/databasename?useSSL=false&allowPublicKeyRetrieval=true&serverTimezone=UTC";
Connection connection = DriverManager.getConnection(url, username, password);
4.执行 sql 并返回结果集
// 获取执行SQL的对象
Statement statement = connection.createStatement();
// 编写需要执行的 SQL
String sql = "SELECT * FROM tablename";
// 执行 SQL 返回结果集
ResultSet resultSet = statement.executeQuery(sql);
5.展开结果集
// 查看结果集
while (resultSet.next()) {
System.out.println("==========================================");
System.out.println("id:" + resultSet.getObject("id"));
System.out.println("name:" + resultSet.getObject("name"));
System.out.println("email:" + resultSet.getObject("email"));
}
6.释放连接
// 释放连接
resultSet.close();
statement.close();
connection.close();