实现mysql(workbench客户端)建立数据在navicat测试连接,JDBC实现连接。出现问题:navicat能连接上mysql,但jdbc一直不行。无敌爆炸问题弄了我一下午,问题解决很简单在url后面加上serverTimezone=UTC,原因可能是驱动更新了。驱动改为com.mysql.cj.jdbc.Driver
下面模拟实现
1.先是在mysql中建立数据库端口设置为3306,用户名为root,密码为zheng。
数据库为new_schema,数据表为new_table,列名为class和age设置一个数为2和2,为int类型。
2.下载navicat,输入端口和用户,查看。如果navicat能连上那证明端口和用户没问题,只能是代码问题。
3.下载JDBC驱动https://dev.mysql.com/downloads/connector/j/
4.将驱动添加进环境变量中
5.只能上代码了
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.Statement;
public class first {
public static void main(String[] args)
{
try {
Class.forName("com.mysql.cj.jdbc.Driver");
String url = "jdbc:mysql://localhost:3306/new_schema?serverTimezone=UTC ";
String user = "root";
String pwd = "zheng";
Connection conn = DriverManager.getConnection(url, user, pwd);
Statement stmt = conn.createStatement();
ResultSet set = stmt.executeQuery("select * from new_table");
while(set.next())
{
System.out.print(set.getInt(1)+":"+set.getInt(1));
}
}catch(ClassNotFoundException e)
{
System.out.print("3");
}catch(Exception e)
{
e.printStackTrace();
}
}
}
记得加serverTimezone=UTC
记得加serverTimezone=UTC
记得加serverTimezone=UTC
重要的事情说三遍
还有驱动包的名字更行成了“com.mysql.cj.jdbc.Driver“