• spring+struts+mybatis中关于报错org.hibernate.exception.GenericJDBCException: Connection is read-only. Queries leading to data modification are not allowed 的产生原因及解决方案


     spring.xml:文件
    1
    <tx:advice id="txAdvice" transaction-manager="transactionManager"> 2 <tx:attributes> 3 <tx:method name="save*" propagation="REQUIRED" read-only="false" /> 4 <tx:method name="add*" propagation="REQUIRED" read-only="false" /> 5 <tx:method name="delete*" propagation="REQUIRED" read-only="false" /> 6 <tx:method name="update*" propagation="REQUIRED" read-only="false" /> 7 <tx:method name="list*" propagation="REQUIRED" read-only="true" /> 8 <tx:method name="get*" propagation="REQUIRED" /> 9 <tx:method name="import*" propagation="REQUIRED" read-only="false" /> 10 <tx:method name="export*" propagation="REQUIRED" read-only="true" /> 11 <tx:method name="*" propagation="REQUIRED" read-only="true" /> 12 </tx:attributes> 13 </tx:advice>

    分析:service层里面有参与事物的方法没有按以上规则来命名,而以上配置文件规定了数据库操作函数必须要以上面的字符串开头,否则的话就按照默认的配置,对数据库访问的权限为read-only。

    报错原因:我的因为service层中的方法名违背了以上规则,只要将方法名改下就可以了

    解决办法:1.修改service里面方法的名字,改为符合配置文件的规则。 
                      2.当然也可以把read-only="true"去掉,(不推荐这种做法)

  • 相关阅读:
    异步任务AsyncTask
    巧用TextView实现分隔线
    android系统的常用权限
    浅析对话框AlertDialog
    LinearLayout中的layout_weight属性详解
    CLOB大数据对象
    模糊查询demo
    ES6 箭头函数
    ES6中数组求和,求平均数方法( reduce )
    ES6中数组方法( every 和 some )
  • 原文地址:https://www.cnblogs.com/jbml-154312/p/6867587.html
Copyright © 2020-2023  润新知