事务的三种类型

事务:有三种类型:
1、JDBC事务
2、JTA事务(java Transaction API)事务
3、容器事务
1、JDBC事务是用Connection对象控制的,JDBC Connection接口(java.sql.connection)提供了两种事务模式:自动提交和手动提交。
public void setAutocommited(boolean)
public boolean getAutoCommited()
public void commit()
public void rollback()
代码示例:
private Connection conn=null;
private PreparedStatement ps=null;
try{
conn.setAutoCommited(false);//将自动提交设置为false,即改为手动提交
ps.executeUpdate(“修改SQL”);//预编译语句执行修改操作
ps.excuteQuery(“查询SQL”);//预编译语句执行查询操作
conn.commit();//当两个操作成功过后手动提交
}catch(Exception e){
conn.rollback();//一旦某个操作失败都将回滚
e.printStackTrace();
}
特点:事务的范围局限于一个数据库连接,一个JDBC事务不能跨越多个数据库
2、JTA事务允许程序执行分布式事务处理,使用此事务,需要一个实现javax.sql.XADataSource、javax.sql.XAConnection和javax.sql.XAResource接口的JDBC驱动程序,一个XADataSource对象就是一个XAConnection对象的工厂,XAConnections是参与JTA事务的JDBC连接,对于XA的连接不能调用java.sql.Connection.commit()或者
java.sql.Connection.rollback()
而是应该调用
UserTransaction.begin()、
UserTransaction.commit()和
UserTransaction.rollback()
特点:可以跨越多个数据库,功能呢强大,使用复杂
3、容器事务由j2EE应用服务器提供的,容器事务大多基于JTA完成,是一个基于JNDI的相当复杂的API实现,

  • 3
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值