论坛首页 入门技术论坛

~~java+sql批处理,怎么执行一段时间后再执行调用就直接基本上就停住了(就是超慢慢),执行不下去了

浏览 3221 次
该帖已经被评为新手帖
作者 正文
   发表时间:2007-08-18  
DAO
这是我封装的getConnect是从连接池中获取的链接,好像我可以顺利执行的次数根我的连接池的最大连接数有关系,连接数设大了就可以多执行一会,设小了就执行时间断了。就是批处理这块出问题,我项目中别的地方单语句都很好。
public static boolean executeBatch(String sql[], String errorMethodName) {
Connection conn=null;
Statement stat=null;
try {
conn = DbManager.getConnect();
conn.setAutoCommit(false);
stat = conn.createStatement(
ResultSet.TYPE_SCROLL_INSENSITIVE,
ResultSet.CONCUR_READ_ONLY);
stat.clearBatch();
for (int i = 0; i < sql.length; i++) {
stat.addBatch(sql[i]);
}
int success[] = stat.executeBatch();
if (success != null) {
conn.commit();
if(stat!=null){
stat.close();
}
if(conn!=null){
conn.close();
}
return true;
} else {
conn.rollback();
if(stat!=null){
stat.close();
}
if(conn!=null){
conn.close();
}
return false;
}

} catch (Exception e) {
try {
conn.rollback();
if(stat!=null){
stat.close();
}
if(conn!=null){
conn.close();
}
return false;
} catch (SQLException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
return false;
}

}
   发表时间:2007-08-19  
不会没有人~~~能清楚吧~~~~~~
那就大伙给个说头啊~
说说到底是怎么啦~~、
我这封装法对不~~~~~~
0 请登录后投票
   发表时间:2007-08-19  
按照你上面的写法,好像事务没有恢复默认情况哦。con.setAutoCommit(true)。
0 请登录后投票
   发表时间:2007-08-19  
跟那好像没关系吧~~~~
0 请登录后投票
论坛首页 入门技术版

跳转论坛:
Global site tag (gtag.js) - Google Analytics