当前位置:编程学习 > JAVA >>

Mybatis 事务问题,急 请高手看下

我使用mybatis3.0.5 进行事务控制时,当第一个数据插入成功,第二个数据插入失败时,做了回滚,但是第一条数据还是成功了 没有回滚,请高手看下是怎么回事。谢谢各位了 
以下是我的配置及代码 
<environments default="MySQL"> 
<environment id="MySQL"> 
<transactionManager type="JDBC" /> 
<dataSource type="POOLED"> 
<property name="driver" value="com.mysql.jdbc.Driver" /> 
<property name="url" value="jdbc:mysql:/" /> 
<property name="username" value="" /> 
<property name="password" value="" /> 
</dataSource> 
</environment> 
</environments> 


SqlSession session = null; 
try { 
String resource = "ibatisconfig/SqlMapConfig.xml"; 
Reader reader = Resources.getResourceAsReader(resource); 
SqlSessionFactory factory = new SqlSessionFactoryBuilder().build(reader); 
session = factory.openSession(ExecutorType.BATCH, false); 

IAccountMapper accountMapper = session.getMapper(IAccountMapper.class); 
Account account = new Account(); 
account.setId(123); 
account.setName("zhangsan"); 
accountMapper.addAccount(account); 

IUserMapper userMapper = session.getMapper(IUserMapper.class); 
User user = new User(); 
user.setUserName("zhangsan"); 
user.setPassWord("123456"); 
userMapper.add(user); 

session.commit(); 
} catch (Exception e) { 
e.printStackTrace(); 
session.rollback(); 
} finally { 
session.close(); 

--------------------编程问答-------------------- 大虾们 看看 为什么回滚不了  --------------------编程问答-------------------- 大虾们 急啊 看看 怎么回事 多谢了 --------------------编程问答-------------------- 别费劲了,控制不了事务 --------------------编程问答-------------------- 看好多资料说这样可以控制事务 但我操作的时候 就是控制不了 那mybatis 是怎样控制事务的了?
--------------------编程问答-------------------- 同命相连呀,我也是,不知怎么的 --------------------编程问答-------------------- 事物交给spring控制 --------------------编程问答-------------------- 关闭掉自动提交的就可以了
//不自动提交事务
session.getConnection().setAutoCommit(false); --------------------编程问答-------------------- 异常被你捕获了,回滚不了的 --------------------编程问答-------------------- 需要手动开启jdbc事务管理。
补充:Java ,  Java EE
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,