import org.apache.commons.dbutils.QueryRunner;
import java.sql.Connection;
import java.sql.SQLException;
public class DBUtils_batch {
public static void main(String[] args) {
Connection conn = null;
int n = 10;
int m = 2;
//n代表你要插入的条数,m代表sql语句中?的个数。
Object[][] pram = new Object[n][m];
for(int i=0;i<n;i++){
pram[i][0]=i+1;
pram[i][1]="name"+i;
}
try {
conn = JDBCUtils2_c3p0.getConnection();
conn.setAutoCommit(false);
//如果要开启事务管理,这里必须使用无参构造函数,保持连接是同一个连接才能rollback;
QueryRunner queryRunner = new QueryRunner();
String sql = "insert into bathed values(?,?)";
//传入连接
queryRunner.batch(conn,sql,pram);
//此处我们设置分母为0的异常,测试是否有作业,需要注意的是,由于id是primary key主键,
//当执行一次之后,数据库中就已经存在,所以测试记得清空表,以免影响测试结果。
// int sum = 1/0;
String sql1 = "update bathed set bname='李四' where id=3";
//传入连接
queryRunner.update(conn,sql1);
conn.commit();
} catch (SQLException e) {
try {
conn.rollback();
} catch (SQLException ex) {
ex.printStackTrace();
}
}finally {
try {
if(conn!=null){
//把conn归还给连接池。
conn.close();
}
//用完后设置为空,让垃圾回收机制今早回收。
conn=null;
} catch (SQLException e) {
e.printStackTrace();
}
}
}
}
JDBC-DBUtils之批处理以及开启事务的综合使用方法。
最新推荐文章于 2023-08-16 15:46:35 发布
本文详细介绍了如何使用JDBC的DBUtils库进行批处理操作,包括设置批处理参数、执行批处理命令,以及如何开启和管理数据库事务,确保数据一致性。通过实例展示了批处理在提升效率和事务控制上的优势。

1478

被折叠的 条评论
为什么被折叠?



