JTA个人总结Code例子(二)

2014-11-24 08:20:18 · 作者: · 浏览: 1
dException;
import javax.transaction.SystemException;
import javax.transaction.UserTransaction;


/**
* @author zcshun
* @see 使用JTA控制全局事务的Demo类
* @date 2012-6-21 上午11:05:55
*/
public class Demo {
public void Search(){
UserTransaction userTransaction = null;
Connection conn1 = null;
Connection conn2 = null;
text t = new text();


userTransaction = t.getUserTransaction();

conn1 = t.getConnectionFromDB2();
conn2 = t.getConnectionFromOracleDB();

if(conn1 != null && conn2 != null && userTransaction != null){
System.out.println("----------个对象成功就位!");
}

try {
userTransaction.begin();
} catch (NotSupportedException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (SystemException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}

try {
Statement sta1 = conn1.createStatement();
Statement sta2 = conn2.createStatement();

String sql1 = "INSERT INTO user(ID,NAME,AGE,SEX,ADDRESS)VALUES(1,'XIAOQIANG','15','1','湖北武汉')";
String sql2 = "INSERT INTO usertext(ID,NAME,AGE,SEX,ADDRESS)VALUES(1,'XIAOQIANG','15','1','湖北武汉')";

sta1.executeQuery(sql1);
sta2.executeQuery(sql2);


userTransaction.commit();

sta1.close();
sta2.close();
www.2cto.com
conn1.close();
conn2.close();


} catch(Exception e){
e.printStackTrace();
try {
userTransaction.rollback();
} catch (IllegalStateException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
} catch (SecurityException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
} catch (SystemException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
}
System.out.println("调用异常!");
}
}

}

在调用的时候可以创建Demo的对象,然后调用其实例的Search()方法即可。

[html]
Demo d = new Demo();
d.Search();

作者:kalision