MyBatis事务管理
MyBatis框架中事务的控制
- MyBatis框架中的事务默认是手动提交的,也就是每次编写程序都需要调用commit()方法提交事务
- 设置自动提交事务,可以通过openSession的方法进行设置
- openSession(true) 自动提交事务
- 测试的代码如下
private InputStream in;
private SqlSession session;
private UserMapper mapper;
@Before
public void init() throws Exception {
// 加载配置文件
in = Resources.getResourceAsStream("SqlMapConfig.xml");
// 创建工厂对象
SqlSessionFactory factory = new SqlSessionFactoryBuilder().build(in);
// 创建Session对象,设置自动提交事务
session = factory.openSession(true);
// 获取到代理对象
mapper = session.getMapper(UserMapper.class);
}
@After
public void destory() throws IOException {
in.close();
session.close();
}
@Test
public void testInsert() throws Exception {
User user = new User();
user.setUsername("美美aaa");
user.setBirthday(new Date());
user.setSex("男");
user.setAddress("北京");
mapper.insert(user);
// session.commit();
}