Java 执行修改 Closing non transactional SqlSession
时间: 2023-11-30 17:43:39 浏览: 118
spring与mybatis整合实现事务配置
5星 · 资源好评率100%
根据提供的引用内容,出现 "Closing non transactional SqlSession" 的原因是因为没有开启事务。可以通过以下两种方式解决:
1. 在启动类上添加注解 @EnableTransactionManagement,开启事务管理器。
2. 在执行修改的方法上添加注解 @Transactional,开启事务。
下面是两种解决方式的示例代码:
1. 在启动类上添加注解 @EnableTransactionManagement
```java
@SpringBootApplication
@EnableTransactionManagement // 开启事务管理器
public class DemoApplication {
public static void main(String[] args) {
SpringApplication.run(DemoApplication.class, args);
}
}
```
2. 在执行修改的方法上添加注解 @Transactional
```java
@Service
public class UserServiceImpl implements UserService {
@Autowired
private UserMapper userMapper;
@Override
@Transactional // 开启事务
public void updateUser(User user) {
userMapper.updateUser(user);
}
}
```
阅读全文