java事务

来源:互联网 发布:淘宝卖的dnf辅助 编辑:程序博客网 时间:2024/05/18 07:08

一、java事务的类型有三种:JDBC事务、JTA(Java Transaction API)事务、容器事务。

二、java事务的四大属性:原子性(atomicity)、一致性(consistency)、隔离性(isolation)和持久性(durability)的缩写。

三、具体例子:

1、JDBC事务

private Connection conn = null;  

private PreparedStatement ps = null;  

try {  

    conn.setAutoCommit(false);  //将自动提交设置为false  

              

    ps.executeUpdate("修改SQL"); //执行修改操作  

    ps.executeQuery("查询SQL");  //执行查询操作                 

    conn.commit();      //当两个操作成功后手动提交           

} catch (Exception e) {  

    conn.rollback();    //一旦其中一个操作出错都将回滚,使两个操作都不成功  

    e.printStackTrace();  

}

2、JTA事务

  InitialContext ic = new InitialContext();

Object txObj = ic.lookup("java:comp/UserTransaction";);

UserTransaction ut = (UserTransaction) txObj;

ut.begin();

DataSource db1 = (DataSource)ic.lookup("java:comp/env/OrdersDB");

DataSource db2 = (DataSource)ic.lookup("java:comp/env/InventoryDB");

Connection con1 = db1.getConnection();

Connection con2 = db2.getConnection();

// perform updates to OrdersDB using connection con1

// perform updates to InventoryDB using connection con2

ut.commit();

3、容器事务

局限于EJB应用使用




0 0
原创粉丝点击