没有合适的资源?快使用搜索试试~ 我知道了~
资源推荐
资源详情
资源评论
JDBC 事务和 JTA(XA)事务
事务简介
一般情况下,J2EE 应用服务器支持 JDBC 事务、JTA(Java Transaction
API)事务(一般由容器来进行管理)。通常,最好不要在程序中同时使用上述
三种事务类型,比如在 JTA 事务中嵌套 JDBC 事务。第二方面,事务要在尽可能
短的时间内完成,不要在不同方法中实现事务的使用(事务的嵌套要求更加良好
的设计)。
JDBC 事务
在 JDBC 中怎样将多个 SQL 语句组合成一个事务呢?在 JDBC 中,打开一个连
接对象 Connection 时,缺省是 auto-commit 模式,每个 SQL 语句都被当作一个
事务,即每次执行一个语句,都会自动的得到事务确认。为了能将多个 SQL 语句
组合成一个事务,要将 auto-commit 模式屏蔽掉。在 auto-commit 模式屏蔽掉之
后,如果不调用 commit()方法,SQL 语句不会得到事务确认。在最近一次 commit()
方法调用之后的所有 SQL 会在方法 commit()调用时得到确认。例如下面的代码:
/**
* 测试 Jboss 中的 JDBC 事务
*
*/
jjava.sql.Connection conn = null;
try{
javax.sql.DataSource ds = (javax.sql.DataSource)
context.lookup("java:/OracleDS");
conn = ds.getConnection();
conn.setAutoCommit(false);
java.sql.Statement statement = conn.createStatement();
/**
*
* 数据库操作
*
*/
conn.commit();
} catch (Exception e) {
if(conn!=null)
try{conn.rollback();}catch(Exception e1){out.println("catch:事务回滚失
败!
");}
out.println("catch:" + e.getClass() + ";" + e.getMessage()+"
");
}finally{
if(conn!=null)
try{conn.close();}catch(Exception e1){out.println("finally:关闭数据库
连接失败!
资源评论
小小哭包
- 粉丝: 1899
- 资源: 3854
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功