Mysql 错误 Connection is read-only 解决方式

时间:2024-02-01 17:54:53

环境Spring+Mybatis

<!-- 配置事务管理器 -->

  <bean id="transactionManager" class="org.springframework.jdbc.datasource.DataSourceTransactionManager"> 

    <property name="dataSource" ref="dataSource" />

  </bean>

<!-- 声明式事物管理 --> <tx:advice id="txAdvice" transaction-manager="transactionManager"> <tx:attributes> <tx:method name="get*" read-only="true" /> <tx:method name="find*" read-only="true" /> <tx:method name="load*" read-only="true" /> <tx:method name="query*" read-only="true" /> <tx:method name="add*" read-only="false" rollback-for="Exception" propagation="REQUIRED"/> <tx:method name="save*" read-only="false" rollback-for="Exception" propagation="REQUIRED"/> <tx:method name="insert*" read-only="false" rollback-for="Exception" propagation="REQUIRED"/> <tx:method name="update*" read-only="false" rollback-for="Exception" propagation="REQUIRED"/> <tx:method name="modify*" read-only="false" rollback-for="Exception" propagation="REQUIRED"/> <tx:method name="delete*" read-only="false" rollback-for="Exception" propagation="REQUIRED"/> <!-- <tx:method name="*" read-only="true"/> --> </tx:attributes> </tx:advice>

以上只为示例,使用事务控制连接数据库方法规范,只读方法和操作方法

有的项目中没有配置声明式事务,是在service层用
@Transactional(readOnly = false)

注解进行控制