如何在jsp中使用 事务???

SJLPY 2004-09-07 02:07:02
做了一个购物车,用了HashMap,现在要把HashMap中的数据存入数据库,因为是多条记录,应该会用到事务,请高手给个例子说明一下怎么使用多些50分相送。
...全文
162 点赞 收藏 3
写回复
3 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
transcendself 2004-09-08
这些代码不知道对你有没有帮助
/**
* 功能:
* 设置是否自动提交 arg = true 自动提交, arg = false 不自动提交
* @return boolean
*/
public boolean setAutoCommit(boolean arg)
{
try
{
connection.setAutoCommit(arg);
}
catch (Exception e)
{
System.out.println("设置是否自动提交出现如下异常:" + e.getMessage());
}
return isConnection;
}

/**
* 功能:
* 提交数据
*/
public void commit()
{
try
{
connection.commit();
}
catch(Exception e)
{
System.out.println("提交数据出现如下异常:" + e.getMessage());
}
}

/**
* 功能:
* 回滚数据
*/
public void rollback()
{
try
{
connection.rollback();
}
catch(Exception e)
{
System.out.println("回滚数据出现如下异常:" + e.getMessage());
}
}

}
回复
形印声传 2004-09-07
写数据库时当然要用到数据库处理bean(类),在这个类里添加事务控制功能即可。
给你个例子:
=======================
p.put(Context.PROVIDER_URL, "iiop://localhost:2809/");
try
{
Context IC_ictx = new InitialContext(p);
DataSource DS_ds = (DataSource)IC_ictx.lookup(ParamInfo.getOraDB());
//连接到数据库
//DataSource DS_ds = (DataSource)IC_ictx.lookup("jdbc/jettdb");
traceLog.Trace("DS_ds=" + DS_ds);
Con_con = DS_ds.getConnection();
Con_con.setAutoCommit(false);
myconn = Con_con;
traceLog.Trace("Con_con=" + Con_con);
return Con_con;
}
catch(Exception sqlE)
{
traceLog.Trace( "DBOpt.Connection():" + sqlE.toString() );
return null;
}
....
===============================
关键是Con_con.setAutoCommit(false);这句,数据库自动提交设置为false

在执行sql语句的时候,成功则执行commit()方法,失败或者捕获到异常,就执行rollback()方法。这样就完成了一个简单的事务控制。

回复
wangnewton 2004-09-07
关注:)

帮你顶
回复
相关推荐
发帖
Web 开发
创建于2007-09-28

8.0w+

社区成员

Java Web 开发
申请成为版主
帖子事件
创建了帖子
2004-09-07 02:07
社区公告
暂无公告