Eclipse连接MySQL数据库 — 8.0版jdbc驱动
工具
- mysql-connector-java-8.0.11.jar
- eclipse
- mysql-8.0.11
01. jdbc 8.0.11下载
下载网址:https://dev.mysql.com/downloads/connector/j/
下载后解压即可。
02. eclipse加载jdbc
打开eclipse,新建一个【java项目-MySQLTest】
点击MySQLTest右键,【构建路径】 —> 【添加库】—> 【用户库】—> 【用户库(u)…】—> 【新建一个用户库mysqllib】—> 选中新建的用户库,点击【添加外部JAR(x)…】,选择解压文件中的【mysql-connector-java-8.0.11.jar】—> 【确定—>完成】。
03. java连接数据库读取数据
数据库名【test】
表名【grade】
- java连接数据库代码:
package mysql;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.Statement;
import java.sql.ResultSet;
import java.sql.SQLException;
public class connect {
public static void main(String[] args){
// 加载数据库驱动 com.mysql.jdbc.Driver
String driver = "com.mysql.cj.jdbc.Driver";
// 获取mysql连接地址
String url = "jdbc:mysql://localhost:3306/test?&useSSL=false&serverTimezone=UTC";
// 数据名称
String username = "root";
// 数据库密码
String password = "1025";
// 获取一个数据的连接
Connection conn = null;
// 获取连接的一个状态
try{
Class.forName(driver);
//getConnection()方法,连接MySQL数据库!
conn=DriverManager.getConnection(url,username,password);
if(!conn.isClosed())
System.out.println("数据库连接成功!");
//创建statement类对象,用来执行SQL语句!
Statement Statement=conn.createStatement();
//要执行的SQL语句
String sql="select * from grade" ;
//ResultSet类,用来存放获取的结果集!
ResultSet rs=Statement.executeQuery(sql);
System.out.println("-------------------------------");
System.out.println("执行结果如下所示:");
System.out.println("-------------------------------");
System.out.println("学号" + "\t" + "姓名"+"\t"+"数学成绩"+"\t"+"语文成绩");
System.out.println("-------------------------------");
String id=null;
String name=null;
String math=null;
String chinese=null;
while(rs.next()){
//获取‘学号’这列数据
id=rs.getString("学号");
//获取‘姓名’这列数据
name=rs.getString("姓名");
//获取‘数学成绩’这列数据
math=rs.getString("数学成绩");
//获取‘语文成绩’这列数据
chinese=rs.getString("语文成绩");
//输出结果
System.out.println(id+"\t"+name+"\t"+math+"\t"+chinese);
}
rs.close();
conn.close();
}
catch(ClassNotFoundException e){
//数据库驱动类异常处理
System.out.println("数据库驱动加载失败!");
e.printStackTrace();
}
catch(SQLException e1){
//数据库连接失败异常处理
e1.printStackTrace();
}
catch(Exception e2){
e2.printStackTrace();
}
finally{
System.out.println("-------------------------------");
System.out.println("数据库数据获取成功!");
}
}
}
- 执行结果:
后注:
若连接MySQL数据库中出现:Public Key Retrieval is not allowed(不允许解锁公钥)
解决方法:
源代码:
String url = "jdbc:mysql://localhost:3306/test?&useSSL=false&serverTimezone=UTC";
改为:
String url = "jdbc:mysql://localhost:3306/test&useSSL=false&allowPublicKeyRetrieval=true&serverTimezone=UTC";
也就是在其后添加:
allowPublicKeyRetrieval=true