Connection is read-only. Queries leading to data modification are not allowed

Posted 韩了个韩

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Connection is read-only. Queries leading to data modification are not allowed相关的知识,希望对你有一定的参考价值。

题外话,很少在网上公开写东西,不是没有分享精神,只是害怕自己也是略懂会误导其他人,所以每次解决完问题都是在印象笔记上记录,只供自己方便查阅。上一次写还是2016年的事情,转眼已经到了2018年了,我也从ios开发现在慢慢转成java开发,要学习的东西真的很多,幸好有一颗喜欢编程的心,要不然真的不知道这几年是怎么过来的。

正文:

Connection is read-only. Queries leading to data modification are not allowed

我产生的原因:自己在mybatis中写了一个插入的sql语句,对应的dao层service层也都写了相应的删除方法,但是controller在调用的时候,报错。

这个错误其实已经很明显,提示我修改不被允许,是只读的。网上也都有答案,让修改spring-context.xml配置文件,例如:

这里面有写到,必须要以配置的这些单词开头才行,例如可以叫insertUserInfo,但是不能叫saveUserInfo,因为并没有save开头的,其他开头的单词都是read-only=true

于是乎在我的工程中搜索类似字样,却发现并没有这些配置,然而我又是刚接触这些框架没多久不太敢轻易添加这些标签,所以问题持续了好久,猛然间发现某个service层中的方法上有个注解@Transactional(readOnly = false) 很明显声明事务的只读性为false,于是在我自己写的方法上也加了这么行语句,问题得以解决,可能用一段时间这些框架后再回头看这些文章会觉得自己很傻逼吧,但记录出来,希望能对像我这样的框架小白有点帮助。

附详细代码,最主要的是第一行声明一下不是只读,否则默认应该是只读:

service

 dao

mybatis

 

最后,用这么大的篇幅写了这么一个小错误,只当为了激励自己码好自己的代码。

 

以上是关于Connection is read-only. Queries leading to data modification are not allowed的主要内容,如果未能解决你的问题,请参考以下文章

spring+struts+mybatis中关于报错org.hibernate.exception.GenericJDBCException: Connection is read-only. Que

### Cause: java.sql.SQLException: Connection is read-only. Queries leading to data modification are

Connection is read-only. Queries leading to data modification are not allowed 错误原因

Connection is read-only. Queries leading to data modification are not allowed

java后台程序方法执行数据库读写报错Connection is read-only。Queries leading to data modification

IDEA: vue文件 File is read-only