捣鼓了许久,好不容易把mysql装完后,运行了maven项目,运行后所有读取都没问题,到了增删操作时,就一直报错,Could not retrieve transation read-only status server。。。。。。。后面一大堆信息,就这个有用了,中文意思是 无法检索转换只读状态服务。
上网查了一下后**,是连接mysql的jdbc驱动包和mysql 的版本对不上,查了一下本地的版本号,mysql是8.0的,jdbc驱动包是5.1的,上mysql的官网查看了一下,点击这里,果然有着详细说明,于是用maven拉去了最新的驱动包8.0的**,,,,,那么麻烦又来了,**这次报的是无法连接的错,**既然连接错误,猜测是连接的参数配置有问题,百度了一下jdbc 8.0 的新特性,这不果然有发现,以前的连接是这样的:
driverClassName=com.mysql.jdbc.Driver
url=jdbc:mysql://localhost:3306/你的数据库名称
username=root
password=密码
现在是这样的:
driverClassName=com.mysql.jdbc.Driver
url=jdbc:mysql://localhost:3306/项目名?useUnicode=true&characterEncoding=UTF-8&useSSL=false&serverTimezone=UTC
username=root
password=密码
将URL改成上面样子后,项目正确运行。
另外,网上有人说驱动名mysql8.0和之前版本也有区别,不是com.mysql.jdbc.Driver而是com.mysql.cj.jdbc.Driver,但是我没有换驱动名,运行也没问题。