关于本地安装mysql请参考我的上一篇博客:
https://www.cnblogs.com/cckong/p/13977440.html
下面我来一步一步教大家你的java程序如何通过JDBC链接上数据库!
1.确保你的mysql已经添加进环境变量
参考这篇 https://jingyan.baidu.com/article/3052f5a1e23d6997f31f860c.html
此步骤的功能是让任何人都可以访问mysql
不需要以管理员身份才能访问
2.下载Mysql的jar包并放进IDEA
参考 https://www.runoob.com/java/java-mysql-connect.html
这篇博客前半段有下载地址 (注意下载与你mysql对应版本jar包)
下载成功后我们导入idea
如下打开
点击SDKs
点击+号添加对应jar包
添加成功后 最后应在
3.接着我们向数据库中写点东西 来证明链接是否成功
(具体mysql语句 参考https://www.runoob.com/mysql/mysql-create-database.html)
4.我们来验证一下
其中的 conn = (Connection) DriverManager.getConnection("jdbc:mysql://localhost:3306/test?useUnicode=true&serverTimezone=Asia/Shanghai&characterEncoding=UTF-8&useSSL=FALSE" ,"root","");
需要注意的是要改成你的 conn = (Connection) DriverManager.getConnection("jdbc:mysql://localhost:端口号/数据库名称?test?useUnicode=true&serverTimezone=Asia/Shanghai&characterEncoding=UTF-8&useSSL=FALSE" ,"你的登录名(一般是root)","你的密码")
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;public classtest {public static voidmain(String[] args) {
ResultSet rs= null;
Statement stmt= null;
Connection conn= null;try{
Class.forName("com.mysql.cj.jdbc.Driver");
conn= (Connection) DriverManager.getConnection("jdbc:mysql://localhost:3306/test?useUnicode=true&serverTimezone=Asia/Shanghai&characterEncoding=UTF-8&useSSL=FALSE" ,"root","");
stmt=conn.createStatement();
rs= stmt.executeQuery("select * from tablename1");while(rs.next()) {//根据字段名获取相应的值//String name = rs.getString("name");//String sex = rs.getString("sex");
int age = rs.getInt("age");//输出查到的记录的各个字段的值
System.out.println( " " +age);
}
}catch(ClassNotFoundException e) {
e.printStackTrace();
}catch(SQLException e) {
e.printStackTrace();
}finally{try{if (rs != null) {
rs.close();
rs= null;
}if (stmt != null) {
stmt.close();
stmt= null;
}if (conn != null) {
conn.close();
conn= null;
}
}catch(SQLException e) {
e.printStackTrace();
}
}
}
}
5.输出 成功!
踩坑过程:
(1)timezone问题
在url中加入一个语句 "jdbc:mysql://localhost:3306/test?useUnicode=true&serverTimezone=Asia/Shanghai&characterEncoding=UTF-8&useSSL=FALSE"。
(2)Access denied for user ''@'localhost' (using password: NO)问题
有可能是我当初没有设置环境变量问题
也有可能 我那个代码复制过来的getconnection的参数问题