SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@da92a8a] was not registered for synchronization because synchronization is not active
时间: 2023-06-28 22:11:59 浏览: 121
mybaits非配置原因,导致SqlSession was not registered for synchronization异常
5星 · 资源好评率100%
这个错误通常出现在使用 MyBatis 进行数据库操作时,事务管理未开启。可以通过在 Spring 配置文件中开启事务管理来解决这个问题。
例如,在 Spring 配置文件中添加以下代码:
```xml
<bean id="transactionManager" class="org.springframework.jdbc.datasource.DataSourceTransactionManager">
<property name="dataSource" ref="dataSource"/>
</bean>
<tx:annotation-driven transaction-manager="transactionManager"/>
```
其中,DataSourceTransactionManager 可以替换为你所使用的事务管理器。tx:annotation-driven 标签用于启用基于注解的事务管理。
另外,还可以在 MyBatis 配置文件中添加以下代码开启事务管理:
```xml
<transactionManager type="JDBC"/>
```
此时,MyBatis 会自动将 SqlSession 注册到当前事务中,避免出现上述错误。
阅读全文