说的不详细,用事务控制不行吗,try{
conn.setAutoCommit(false)
插入第一条数据
插入第二条数据
conn.commit()
}catch(SQLException e){
//出现异常,进行回滚操作,打印出异常信息
e.printStackMessage();
conn.rollback()
}finally{
关闭连接,陈述语句等各种资源
}
conn.setAutoCommit(false)
插入第一条数据
插入第二条数据
conn.commit()
}catch(SQLException e){
//出现异常,进行回滚操作,打印出异常信息
e.printStackMessage();
conn.rollback()
}finally{
关闭连接,陈述语句等各种资源
}
解决方案 »
- 什么是java
- <s:form action="XX.action"> 与 <s:form action="XX"> 的区别
- hibernate+proxool连接数据库
- Action里面不能绑定值
- Struts程序中,Commons-Validator产生错误的代码,知道怎么回事吗
- 在Oracle的写存储过程,在Java中如何调用这个存储过程
- 100分求:上次一csdn网友发的『汤母猫5数据库连接池 + JavaBean + 分页技术 + JDBC3.0 +大型数据库』的源代码
- 用jsp连EJB怎么也连不上了!!!大侠帮忙啊!!!(JBulider9+Weblogic8.1)
- struts和其他不用struts的集成问题
- struts中根本不该用xml来做url映射, 缺点如下:
- 求 Java 设计文档
- 如何用APPLET在客户端修改服务器上的文件
{
int effectrows = 0; Connection connection = null; PreparedStatement statement = null; try
{
connection = DbAccessor.getConnection();
connection.setAutoCommit(false);
String sql = DbUtil.getSQL(sqlId);
statement = connection.prepareStatement(sql, ResultSet.TYPE_SCROLL_INSENSITIVE, ResultSet.CONCUR_READ_ONLY);
processPSPrama(statement, params);
effectrows = statement.executeUpdate(); if(effectrows <= 0 && DbUtil.isExsitNotDeleteOpr(sqlId))
{
DbAccessor.rollback(connection); throw new RecordNotFoundAppException("Error.Db.DataAccessFail");
}
connection.commit(); connection.setAutoCommit(true);
}
catch(SQLException e)
{
DbAccessor.rollback(connection); _log.error(e.getMessage(), e); SqlExceptionHandler sqlExceptionHandler = OracleExceptionHandler.getInstance(); sqlExceptionHandler.execute(e);
}
catch(DataAccessSysException e)
{
DbAccessor.rollback(connection); throw e;
}
finally
{
DbAccessor.close(null, statement, connection);
}
}
这样写好之后,在业务层去调用就行了,是吗?