【发布时间】:2017-05-24 02:07:34
【问题描述】:
案例一:
class TestService{
@Autowired
private SqlSessionTemplate sqlSession;
public void insert(Map map1,Map map2,Map map3){
sqlSession.insert("testMapper.insert",map1);
sqlSession.insert("testMapper.insert",map2);
sqlSession.insert("testMapper.insert",map3);
}
}
案例2:
@Service
class ObjectService{
@Autowired
private SqlSessionTemplate sqlSession;
public void insert(Map map){
sqlSession.insert("testMapper.insert",map);
}
}
class TestService{
@Autowired
private ObjectService objectService;
public void insert(Map map1,Map map2,Map map3){
objectService.insert(map1);
objectService.insert(map2);
objectService.insert(map3);
}
}
我用的是mybatis,我已经用spring配置了事务。我有一个问题,案例 #1 中描述的代码抛出异常并且事务被回滚(所以没有真正插入数据库)。
当我运行案例 #2 时,再次抛出错误,但数据仍插入数据库并且不会发生回滚。
【问题讨论】: