ssm+mysql遇到的问题Could not retrieve transation read-only status server。

捣鼓了许久,好不容易把mysql装完后,运行了项目,运行后所有读取都没问题,到了增删改操作时,就一直报错,Could not retrieve transation read-only status server。。。。。。。后面一大堆信息,就这个有用了,中文意思是 无法检索转换只读状态服务。 
    上网查了一下后,是连接mysql的jdbc驱动包和mysql 的版本对不上,查了一下本地的版本号,mysql是8.0.11的,jdbc驱动包是5.1的,又去找对应的mysql驱动包去。各个驱动包地址:http://central.maven.org/maven2/mysql/mysql-connector-java/,那么麻烦又来了,这次报的是无法连接的错,既然连接错误,猜测是连接的参数配置有问题,百度了一下jdbc 8.0 的新特性,这不果然有发现,以前的连接是这样的:

db.driver=com.mysql.jdbc.Driver
db.url=jdbc\:mysql\://localhost\:3306/jeecg  //数据库名称
db.username=root
db.password=root

现在是这样的:

db.driver=com.mysql.jdbc.Driver
db.url=jdbc\:mysql\://localhost\:3306/jeecg(数据库名称)?useUnicode\=true&characterEncoding\=UTF-8&useSSL\=false&serverTimezone\=UTC
db.username=root
db.password=root

将URL改成上面样子后,项目正确运行。

另外,网上有人说驱动名mysql8.0和之前版本也有区别,不是com.mysql.jdbc.Driver而是com.mysql.cj.jdbc.Driver,但是我没有换驱动名,运行也没问题。
--------------------- 

以上大多数都是粘贴楼主的,楼主用的maven 我自己找的mysql驱动包
原文:https://blog.csdn.net/legendaryhaha/article/details/82631229 

猜你喜欢

转载自blog.csdn.net/qq_27925345/article/details/89052984