如何解决JDBC Connection [com.mysql.cj.jdbc.ConnectionImpl@29f7045e] will not be managed by Spring ==> Preparing: SELECT id,name,password FROM ssm_user WHERE (name = ?) ==> Parameters: null <== Total: 0 Closing non transactional SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@3d63f5cc]
时间: 2023-12-10 15:42:20 浏览: 422
这个问题通常是由于在没有事务管理的情况下使用了MyBatis引擎而导致的。解决这个问题的方法是将MyBatis引擎的事务管理交给Spring来管理。你可以在Spring的配置文件中添加如下代码来解决这个问题:
```
<bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean">
<property name="dataSource" ref="dataSource" />
<property name="transactionFactory">
<bean class="org.apache.ibatis.transaction.managed.ManagedTransactionFactory" />
</property>
<property name="configLocation" value="classpath:mybatis-config.xml" />
</bean>
```
其中,`ManagedTransactionFactory`是MyBatis提供的一个事务管理工厂。通过将其配置到`SqlSessionFactoryBean`中,可以将MyBatis引擎的事务管理交给Spring来管理,从而解决上述问题。
阅读全文