锘??xml version="1.0" encoding="utf-8" standalone="yes"?>亚洲精品无码久久久,亚洲国产高清美女在线观看,亚洲伊人成无码综合网 http://www.tkk7.com/wuxufeng8080/category/10540.htmlzh-cnFri, 02 Mar 2007 03:30:15 GMTFri, 02 Mar 2007 03:30:15 GMT60JTA鍜孞DBC浜嬪姟 (ZT)http://www.tkk7.com/wuxufeng8080/articles/60359.html椋庝漢鍥?/dc:creator>椋庝漢鍥?/author>Thu, 27 Jul 2006 07:19:00 GMThttp://www.tkk7.com/wuxufeng8080/articles/60359.html

聽涓鑸儏鍐典笅錛孞2EE搴旂敤鏈嶅姟鍣ㄦ敮鎸丣DBC浜嬪姟銆丣TA浜嬪姟銆佸鍣ㄧ鐞嗕簨鍔°傝繖閲岃璁篔TA鍜孞DBC浜嬪姟鐨勫尯鍒傝繖2涓槸甯哥敤鐨凞AO妯″紡浜嬪姟鐣屽畾鏂瑰紡銆?br />JDBC 浜嬪姟
聽JDBC 浜嬪姟鏄敤 Connection 瀵硅薄鎺у埗鐨勩侸DBC Connection 鎺ュ彛( java.sql.Connection )鎻愪緵浜嗕袱縐嶄簨鍔℃ā寮忥細鑷姩鎻愪氦鍜屾墜宸ユ彁浜ゃ備緥濡傚涓嬬墖鏂細
聽import java.sql.*;
聽聽聽聽聽 import javax.sql.*;

聽聽聽聽聽 // ...
聽聽聽聽聽 DataSource ds = obtainDataSource();
聽聽聽聽聽 Connection conn = ds.getConnection();
聽聽聽聽聽 conn.setAutoCommit(false);
聽聽聽聽聽 // ...
聽聽聽聽聽 pstmt = conn.prepareStatement("UPDATE MOVIES ...");
聽聽聽聽聽 pstmt.setString(1, "The Great Escape");
聽聽聽聽聽 pstmt.executeUpdate();
聽聽聽聽聽 // ...
聽聽聽聽聽 conn.commit();
聽聽聽聽聽 // ...

聽JDBC 浜嬪姟鐨勪竴涓己鐐規槸浜嬪姟鐨勮寖鍥村眬闄愪簬涓涓暟鎹簱榪炴帴銆備竴涓?JDBC 浜嬪姟涓嶈兘璺ㄨ秺澶氫釜鏁版嵁搴撱?br />JTA浜嬪姟
聽JTA(Java Transaction API) 涓?J2EE 騫沖彴鎻愪緵浜嗗垎甯冨紡浜嬪姟鏈嶅姟銆?br />聽瑕佺敤 JTA 榪涜浜嬪姟鐣屽畾錛屽簲鐢ㄧ▼搴忚璋冪敤 javax.transaction.UserTransaction 鎺ュ彛涓殑鏂規硶銆備緥濡傦細
聽utx.begin();
聽聽聽聽聽 // ...
聽聽聽聽聽 DataSource ds = obtainXADataSource();
聽聽聽聽聽 Connection conn = ds.getConnection();
聽聽聽聽聽 pstmt = conn.prepareStatement("UPDATE MOVIES ...");
聽聽聽聽聽 pstmt.setString(1, "Spinal Tap");
聽聽聽聽聽 pstmt.executeUpdate();
聽聽聽聽聽 // ...
聽聽聽聽聽 utx.commit();

聽璁╂垜浠潵鍏蟲敞涓嬮潰鐨勮瘽錛?br />聽鈥滅敤 JTA 鐣屽畾浜嬪姟錛岄偅涔堝氨闇瑕佹湁涓涓疄鐜?javax.sql.XADataSource 銆?javax.sql.XAConnection 鍜?javax.sql.XAResource 鎺ュ彛鐨?JDBC 椹卞姩紼嬪簭銆備竴涓疄鐜頒簡榪欎簺鎺ュ彛鐨勯┍鍔ㄧ▼搴忓皢鍙互鍙備笌 JTA 浜嬪姟銆備竴涓?XADataSource 瀵硅薄灝辨槸涓涓?XAConnection 瀵硅薄鐨勫伐鍘傘?XAConnection s 鏄弬涓?JTA 浜嬪姟鐨?JDBC 榪炴帴銆傗?br />聽瑕佷嬌鐢↗TA浜嬪姟錛屽繀欏諱嬌鐢╔ADataSource鏉ヤ駭鐢熸暟鎹簱榪炴帴錛屼駭鐢熺殑榪炴帴涓轟竴涓猉A榪炴帴銆?br />聽XA榪炴帴錛坖avax.sql.XAConnection錛夊拰闈瀀A錛坖ava.sql.Connection錛夎繛鎺ョ殑鍖哄埆鍦ㄤ簬錛歑A鍙互鍙備笌JTA鐨勪簨鍔★紝鑰屼笖涓嶆敮鎸佽嚜鍔ㄦ彁浜ゃ?br />聽聽聽聽 Note:
Oracle, Sybase, DB2, SQL Server絳夊ぇ鍨嬫暟鎹簱鎵嶆敮鎸乆A, 鏀寔鍒嗗竷浜嬪姟銆?
My SQL 榪炴湰鍦伴兘鏀寔涓嶅ソ錛屾洿鍒鍒嗗竷浜嬪姟浜嗐?br />JTA鏂瑰紡鐨勫疄鐜拌繃紼?/font>錛?br />聽聽 鐢╔ADataSource浜х敓鐨刋AConnection瀹冩墿灞曚簡涓涓猤etXAResource()鏂規硶,浜嬪姟閫氳繃榪欎釜鏂規硶鎶婂畠鍔犲叆鍒頒簨鍔″鍣ㄤ腑榪涜綆$悊.瀵逛簬璋冪敤鑰呮潵璇?鏍規湰鐪嬩笉鍒頒簨鍔℃槸濡傛灉綆$悊鐨?浣犲彧瑕佸0鏄庡紑濮嬩簨鍔?鍛婅瘔瀹瑰櫒鎴戜笅闈㈢殑鎿嶄綔瑕佹眰浜嬪姟鍙備笌浜?鏈鍚庡憡璇変簨鍔¤鍒拌繖鍎垮彲浠ユ彁浜ゆ垨鍥炴粴浜?鍒殑閮芥槸榛戠鎿嶄綔銆?br />聽鍦ㄤ嬌鐢↗TA涔嬪墠錛屼綘蹇呴』棣栧厛瀹炵幇涓涓猉id綾葷敤鏉ユ爣璇嗕簨鍔★紙鍦ㄦ櫘閫氭儏鍐典笅榪欏皢鐢變簨鍔$鐞嗙▼搴忔潵澶勭悊錛夈俋id鍖呭惈涓変釜鍏冪礌錛歠ormatID銆乬trid錛堝叏灞浜嬪姟鏍囪瘑絎︼級鍜宐qual錛堝垎鏀慨楗拌瘝鏍囪瘑絎︼級銆?br />聽涓嬮潰鐨勪緥瀛愯鏄嶺id鐨勫疄鐜幫細

import javax.transaction.xa.*;
public class MyXid implements Xid
{
銆protected int formatId;
銆protected byte gtrid[];
銆protected byte bqual[];
銆public MyXid()
銆{
銆}
銆public MyXid(int formatId, byte gtrid[], byte bqual[])
銆{
銆銆this.formatId = formatId;
銆銆this.gtrid = gtrid;
銆銆this.bqual = bqual;
銆}

銆public int getFormatId()
銆{
銆銆return formatId;
銆}

銆public byte[] getBranchQualifier()
銆{
銆銆return bqual;
銆}

銆public byte[] getGlobalTransactionId()
銆{
銆銆return gtrid;
銆}

}
聽鍏舵錛屼綘闇瑕佸垱寤轟竴涓綘瑕佷嬌鐢ㄧ殑鏁版嵁搴撶殑鏁版嵁婧愶細

public DataSource getDataSource()
銆throws SQLException
銆{
銆銆SQLServerDataSource xaDS = new
銆銆com.merant.datadirect.jdbcx.sqlserver.SQLServerDataSource();
銆銆xaDS.setDataSourceName("SQLServer");
銆銆xaDS.setServerName("server");
銆銆xaDS.setPortNumber(1433);
銆銆xaDS.setSelectMethod("cursor");
銆銆return xaDS;
}

銆銆渚??榪欎釜渚嬪瓙鏄敤鈥滀袱姝ユ彁浜ゅ崗璁濇潵鎻愪氦涓涓簨鍔″垎鏀細

XADataSource xaDS;
XAConnection xaCon;
XAResource xaRes;
Xid xid;
Connection con;
Statement stmt;
int ret;
xaDS = getDataSource();
xaCon = xaDS.getXAConnection("jdbc_user", "jdbc_password");
xaRes = xaCon.getXAResource();
con = xaCon.getConnection();
stmt = con.createStatement();
xid = new MyXid(100, new byte[]{0x01}, new byte[]{0x02});
try {
銆銆xaRes.start(xid, XAResource.TMNOFLAGS);
銆銆stmt.executeUpdate("insert into test_table values (100)");
銆銆xaRes.end(xid, XAResource.TMSUCCESS);
銆銆ret = xaRes.prepare(xid);
銆銆if (ret == XAResource.XA_OK) {
銆銆銆銆xaRes.commit(xid, false);
銆銆銆}
}
catch (XAException e) {
銆e.printStackTrace();
}
finally {
銆stmt.close();
銆con.close();
銆xaCon.close();
}
聽褰撶劧錛屽疄闄呰繃紼嬩腑錛屾垜浠笉闇瑕佸啓榪欎簺浠g爜錛岃繖浜涗唬鐮佹槸JTA鏈緇堢殑瀹炵幇浠g爜銆?br />鍏充簬鈥滀袱姝ユ彁浜ゅ崗璁濓紝鍙互鍙傜湅涓嬮潰鐨勬枃绔狅細
http://www.jspcn.net/htmlnews/11049371131251752.html

http://www.vermicelli.pasta.cs.uit.no/ipv6/students/andrer/doc/html/node18.html


閫夋嫨鏈濂界殑鏂瑰紡
鐢?JDBC API 榪涗簨鍔$晫瀹氭潵鏋勫緩 DAO 綾葷殑銆傝繖浜?DAO 綾誨彲浠ユ葷粨濡備笅錛?/p>

浜嬪姟鐣屽畾浠g爜宓屽叆鍦?DAO 綾諱腑銆?
DAO 綾諱嬌鐢?JDBC API 榪涜浜嬪姟鐣屽畾銆?
璋冪敤鑰呬笉鑳界晫瀹氫簨鍔°?
浜嬪姟鑼冨洿灞闄愪簬鍗曚釜 JDBC 榪炴帴銆?
JDBC 浜嬪姟騫朵笉鎬繪槸閫傚悎澶嶆潅鐨勪紒涓氬簲鐢ㄧ▼搴忋傚鏋滄偍鐨勪簨鍔¤璺ㄨ秺澶氫釜 DAO 鎴栬呭涓暟鎹簱錛岄偅涔堜笅鍒楀疄鐜扮瓥鐣ヤ篃璁告洿鍚堥傦細

浜嬪姟鐢?JTA 鐣屽畾銆?
浜嬪姟鐣屽畾浠g爜浠?DAO 涓垎紱誨嚭鏉ャ?
璋冪敤鑰呰礋璐g晫瀹氫簨鍔°?
DAO 鍔犲叆涓涓叏灞浜嬪姟銆?
JDBC 鏂瑰紡鐢變簬鍏剁畝鍗曟ц屽叿鏈夊惛寮曞姏錛孞TA銆鏂瑰紡鎻愪緵浜嗘洿澶х殑鐏墊椿鎬с傛偍鎵閫夋嫨鐨勫疄鐜板皢鍙栧喅浜庡簲鐢ㄧ▼搴忕殑鐗瑰畾闇姹傘?br />XADataSource渚嬪瓙錛?br /><?xml version="1.0" encoding="UTF-8"?>

<!-- ===================================================================== -->
<!--聽聽聽 -->
<!--聽 JBoss Server Configuration聽聽聽 -->
<!-- Thanks to Horia Muntean <horia@bvb.ro>聽聽 -->
<!-- ===================================================================== -->

<!-- $Id: db2-xa-ds.xml,v 1.1.2.1 2003/05/30 18:25:57 d_jencks Exp $ -->


<datasources>
聽聽 <!--
聽聽聽聽聽聽 XADatasource for DB2 V8.1 (app driver)
聽聽聽聽聽聽 copy $db2_install_dir/java/db2java.zip into $jboss_install_dir/server/default/lib
聽聽 -->

聽聽 <xa-datasource>
聽聽聽聽 <jndi-name>DB2XADS</jndi-name>
聽聽聽聽 <xa-datasource-class>COM.ibm.db2.jdbc.DB2XADataSource</xa-datasource-class>
聽聽聽聽 <xa-datasource-property name="DatabaseName">yout_database_name</xa-datasource-property>
聽聽聽聽 <xa-datasource-property name="User">your_user</xa-datasource-property>
聽聽聽聽 <xa-datasource-property name="Password">your_password</xa-datasource-property>
聽聽 </xa-datasource>
</datasources>

寮曠敤錛?br />聽http://www.jspcn.net/htmlnews/11049371131251752.html
http://www-128.ibm.com/developerworks/cn/java/j-dao/
http://www.vermicelli.pasta.cs.uit.no/ipv6/students/andrer/doc/html/node18.html



]]>
主站蜘蛛池模板: 日韩免费无码一区二区三区| 高清免费久久午夜精品| 午夜精品射精入后重之免费观看| 国产成人亚洲综合无码| fc2成年免费共享视频网站| 亚洲成A人片在线观看无码3D | 国产亚洲AV无码AV男人的天堂| 免费人成网站永久| 亚洲第一区在线观看| 九九免费观看全部免费视频| 国内精品久久久久久久亚洲| 成人免费无码H在线观看不卡| 亚洲精品tv久久久久久久久| 久久99热精品免费观看动漫| 亚洲精品视频在线播放| 国产大片免费网站不卡美女| 自拍偷区亚洲国内自拍| 日本免费一区二区三区最新| 五月天婷婷精品免费视频| 久久精品国产亚洲精品| 欧洲人成在线免费| 亚洲成人福利在线| 免费观看的a级毛片的网站| 国产精品亚洲一区二区无码 | 亚洲小视频在线播放| 免费无码肉片在线观看| 亚洲AV成人片无码网站| 亚洲精品456播放| 全免费a级毛片免费看| 亚洲w码欧洲s码免费| 国产免费资源高清小视频在线观看| 深夜A级毛片视频免费| 亚洲av永久无码精品漫画| 一二三四在线播放免费观看中文版视频 | 一级做a爰全过程免费视频| 亚洲精品福利你懂| 亚洲精品成人区在线观看| 99久久久国产精品免费牛牛四川 | 国产成人亚洲精品无码AV大片| 久久亚洲av无码精品浪潮| 最近2022中文字幕免费视频|