在编写单元测试时,如下代码发现数据库更改没有成功
@SpringBootTest(webEnvironment= SpringBootTest.WebEnvironment.NONE)
class UserMapperTest {
@Autowired
private UserMapper userMapper;
@Test
@Transactional
void updateUser(){
User user = new User();
user.setId("123");
user.setName("刘德华");
user.setCreateTime(LocalDateTime.now());
userMapper.updateById(user);
System.out.println(user);
}
发现数据库中的 id 为“123” 的记录并没有更改成功,打印控制台打印mybatis 日志的时候发现也有,
好在application.properties 中加入了这一行
logging.level.org.springframework.jdbc.datasource.DataSourceTransactionManager=debug
发现控制台有一行输出 transaction.TransactionContext : Rolled back transaction for test: 原来单元测试的代码会自动回滚事务,但是我想直接提交,查到可以直接在方法上加上 @