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

Java+Mysql如何处理事务?

以前没怎么研究过Mysql数据库,但是这段时间由于项目需要用到了Mysql数据库。说说目前的情况,数据库链接是通过JDNI获取。在Oracle数据库下这些代码是没有问题的,但是迁移到Mysql数据库下所有的事务都失效了,Mysql建表时也添加了InnoDB,不知道是不是Mysql对于事务处理还有别的需要特别主意的地方?

下面是事务处理的代码:

        UserTransaction tran = null;
try {
tran = Trans.getUserTransaction();
tran.begin();
UserDaoImplex.update(user);
UserDaoImplex.insert(user);
tran.commit();
} catch (Exception e) {
tran.rollback();
e.printStackTrace();
}


getUserTransaction()方法实现:

public static UserTransaction getUserTransaction() throws NamingException,SystemException {
InitialContext ctx = new InitialContext();
Object txObj = ctx.lookup("java:comp/UserTransaction");
UserTransaction utx = (UserTransaction)txObj;
        if (utx != null){
         utx.setTransactionTimeout(60*20); // 设置事务超时间
            return utx;
        }else{
            return null;
        }
}
Java MySQL 事务
补充:Java ,  Java EE
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,