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();