随笔-11  评论-5  文章-1  trackbacks-0
哪位兄弟了解"事务" 帮帮小弟  不胜感谢webdn客户服务
posted on 2006-08-02 18:55 Crespo 阅读(363) 评论(2)  编辑  收藏

评论:
# re: 哪位兄弟了解"事务" 帮帮小弟 不胜感谢 2006-08-07 19:14 | Crespo
自己先跟一帖
import javax.transaction.*;
import java.sql.*;
import java.util.*;
import java.io.*;
import javax.naming.Context;
import javax.naming.InitialContext;
import javax.naming.NamingException;
import javax.sql.DataSource;

public class JTATest
{
public static void main(String args[])
{
Context ctx=null;
Hashtable ht=new Hashtable();
DataSource ds=null;
Statement stmt=null;
ResultSet rs=null;
Connection myConn = null;
UserTransaction tx = null;
String tablename="student";
String str1="INSERT INTO student VALUES ('01001001','ixucheng', 33)";
String str2="INSERT INTO student VALUES ('01001002','hangsan', 44)";
try
{
ht.put(Context.INITIAL_CONTEXT_FACTORY,"weblogic.jndi.WLInitialContextFactory");
ht.put(Context.PROVIDER_URL,"t3://localhost:7001");
ctx=new InitialContext(ht);
String str="javax.transaction.UserTransaction";
tx =(UserTransaction)ctx.lookup(str);
tx.begin();
ds = (javax.sql.DataSource)ctx.lookup("TestData");
myConn= ds.getConnection();
stmt = myConn.createStatement();
stmt.executeUpdate (str1);
stmt.executeUpdate (str2);
tx.commit();
System.out.println("Success!");
}
catch (Exception E)
{
try{tx.rollback();}catch(Exception e){}
System.out.println("事务发生错误,事务被取消! ");
}
finally
{
if (rs != null)
{
try{ rs.close(); } catch (Exception ignore) {};
}
if (stmt != null)
{
try{ stmt.close(); } catch (Exception ignore) {};
}
if (myConn != null)
{
try { myConn.close(); } catch (Exception ignore) {};
}

}
}
}  回复  更多评论
  
# re: 哪位兄弟了解"事务" 帮帮小弟 不胜感谢 2006-08-12 11:39 | #
精通EJB上的例子
try{
/*
*1:设置环境。为访问JNDI,碧血初始化上下文工厂、提供URL、所需的用户名、密码
*2:具体细节,可以参考应用服务器的给出的产品文档
*3:注意,重点参考文档中有关JNDI的部分
*/
java.util.Properties env = ...
/*
*2:获得JNDI初始上下文
*/
Context ctx = new InitialContext(env);
/*
*3:借助于JNDI,查找JTA UserTransaction接口
*通常,容器都回江JTA暴露在“java:comp/UserTransaction”位置

*
*/
userTran = (javax.transaction.UserTransaction)
ctx.lookup("java:comp/UserTransaction");
/*
*4:执行事务
*/
userTran.begin();
//完成业务操作
userTran.commit();
}
catch(Exception e)
//处理异常,包括事务回滚的处理。

}  回复  更多评论
  

只有注册用户登录后才能发表评论。


网站导航: