MyBatis中處理事務的方法有兩種:
SqlSession sqlSession = sqlSessionFactory.openSession();
try {
// 開啟事務
sqlSession.beginTransaction();
// 執行業務邏輯
// 提交事務
sqlSession.commit();
} catch (Exception e) {
// 回滾事務
sqlSession.rollback();
} finally {
sqlSession.close();
}
@Mapper
public interface UserMapper {
@Insert("insert into user(name, age) values(#{name}, #{age})")
@Transactional
void insert(User user);
}
或者在XML文件中配置:
<transactionManager type="JDBC" />
<mappers>
<mapper resource="UserMapper.xml" />
</mappers>
使用哪種方式取決于開發者的需求和習慣。