Mybatis 回滚无效

VitoHuang 发布于 2015/10/22 17:45
阅读 848
收藏 0
public class TestOne {

    private static SqlSessionFactory sqlSessionFactory;
    private static Reader reader;
    private static final String CONFIG = "mybatis.cfg.xml";

    static{
        try{
            //第一步读取配置文件信息
            reader = Resources.getResourceAsReader(CONFIG);
            //第二步通过 SqlSessionFactoryBuilder 实例化 SqlSessionFactory
            sqlSessionFactory = new SqlSessionFactoryBuilder().build(reader);
        }catch(Exception e){
            e.printStackTrace();
        }
    }

    public static void main(String args[]){
        //第三步获取操作数据库对象SqlSession
        SqlSession session = sqlSessionFactory.openSession(false);
        try {
            Member user = new Member();
            user.setName("VitoHuang");
            user.setAge(24);
            user.setSex(0);
            //第四步CRUD
            session.insert("Member.create",user);
            //第五步提交事务
            session.rollback();
            //session.commit();
        }catch (Exception e){
            session.rollback();
            e.printStackTrace();
        } finally {
            //第六步关闭连接
            session.close();
        }
    }

最近在学习mybatis,但是发现我把sqlSessionFactory.openSession(false)设置未false,代码结束时故意回滚,但在仍然提交了数据!如果我要控制事务应该要怎么写呢?



加载中
0
VitoHuang
VitoHuang
数据表需要设置为InnoDB
0
俺木加加
俺木加加

不是对session rollback.而是对transaction rollback

你参考下我的代码片段:

返回顶部
顶部