最近做SSM框架整合练习,数据库使用最新的 mysql8.0.12版本,但是部署好服务器后,请求相应的资源时报org.springframework.transaction.CannotCreateTransactionException异常,查了很多资料,终于找到原因,现做一个总结。
以往版本的mysql连接中,程序中配置的mysql连接驱动为com.mysql.jdbc.Driver,但是8.0.12版本的mysql数据库驱动已更改,变更为:com.mysql.cj.jdbc.Driver,所以配置文件中的数据库驱动必须相应做更改<property name="driverClassName" value="com.mysql.cj.jdbc.Driver"/>,同时maven项目的pom.xml文件中的依赖更新为:
<dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> <version>8.0.11</version> </dependency> mysql8.0是不需要建立ssl连接的,你需要显式关闭。最后你需要设置CST,代码变变更为:
conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/test_demo?useSSL=false&serverTimezone=UTC","root","password");
最后,测试连接,一切ok!
原文地址:https://www.cnblogs.com/yong-shouhou/p/9646342.html
时间: 2024-10-14 03:22:58