这次新安装了一个MySQL数据库,然后navicat连接数据库一点问题没有。但是通过Java的jdbc连接却怎么都建立不了连接。 报如下错: 网上找了很久找到了原因: 数据库用的是Mysql8版本,但工程里面mysql驱动包却是5.1.37版本。只需修改驱动包为8.0.11版本即可。 而且驱动的包也改变了,由原来的:/generatorSqlmapCustom/lib/mysql-connector-java-5.1.28-bin.jar 换成了:mysql-connector-java-8.0.11.jar 结构: 换成了: 因此Mysql8.0连接JDBC驱动需要注意以下几点: 1,驱动的类换了个名字 Class.forName("com.mysql.cj.jdbc.Driver"); 加上useSSL=true或false con = DriverManager.getConnection("jdbc:mysql://127.0.0.1:3306/test?useSSL=true", "root", "123456"); 加上serverTimezone=GMT con = DriverManager.getConnection("jdbc:mysql://127.0.0.1:3306/test?useSSL=true&serverTimezone=GMT", "root", "123456"); 如果是maven引入,则需要由:
SSM框架中,配置数据库连接的问题MySQL数据库版本是8.0.11. 要用驱动:com.mysql.cj.jdbc.Driver 最主要的是数据库的连接url。 搞了半天才把问题搞明白: 数据库url后面要加上参数: jdbc:mysql://localhost:3306/taobao?characterEncoding=utf-8&serverTimezone=UTC&useSSL=false 另外,在properties文件中的配置和xml里面配置时候需要注意:连接符号: 在xml里面配置:需要使用转义符:&代替&
而在properties里面,则不能使用转义符,而直接使用:& |
jdbc.driver=com.mysql.cj.jdbc.Driver
jdbc.url=jdbc:mysql://localhost:3306/taobao?characterEncoding=utf-8&serverTimezone=UTC&useSSL=false
jdbc.username=root
jdbc.password=aaaaaa