1. 下载对应jar包
2. 将jar包放入项目的lib文件中
3.编写测试文件
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.Statement;
public class App {
public static final String url = "jdbc:mysql://127.0.0.1/learn_sql"; //本地learn_sql数据库地址
private final static String username = "root";//MySQL数据库登录用户名
private final static String password = "****";//MySQL数据库登录密码
public static void main(String args[]) {
try {
Class.forName("com.mysql.cj.jdbc.Driver");//加载MySQL数据库驱动
} catch (Exception e) {
e.printStackTrace();
System.out.println("未能成功加载数据库驱动程序!");
}
try {
Connection connect = DriverManager.getConnection(url, username, password);
Statement stmt = connect.createStatement();
ResultSet rs = stmt.executeQuery("select * from dept");
while (rs.next()) {
System.out.print("部门号:" + rs.getInt("DEPTNO")+"\t");
System.out.print("姓名:" + rs.getString("DNAME")+"\t");
System.out.println("所属地:" + rs.getString("LOC"));
}
} catch (Exception e) {
e.printStackTrace();
}
}
}
4. 发现错误
5. 解决错误
第一个错误:
java.lang.ClassNotFoundException: com.mysql.cj.jdbc.Driver
解释说明: 不同版本的mysql-connector-java驱动包的Driver类所在的位置不同,在5.x版本中Driver类在com.mysql.jdbc包路径下,到了6.x以上版本中Driver类在com.mysql.cj.jdbc包路径下。
我使用的是5.x版本,因此将原代码中
Class.forName(“com.mysql.cj.jdbc.Driver”);修改为Class.forName(“com.mysql.jdbc.Driver”);
第二个错误:
java.sql.SQLException: Access denied for user ‘root’@‘localhost’ (using password: YES)
解释说明: 这个可能存在很多的原因,最有可能的是端口占用
- 使用win+r,输入services.msc
- 找到mysql与mysqlzt(我这里的mysqlzt, 是禅道里面对应的数据库,也占用了3306号端口,导致无法连接)
- 再次验证成功