如果你要循环插入1000条数据,不用JDBC批处理。例:
- for(int i = 0; i < 1000; i++){
- 调用插入方法();
- }
这样你要连接数据库1000次,释放连接1000次,效率比较低
用JDBC批处理就可以提高效率,所有sql语句都保存起来,一次连接,全部执行后,一次释放连接。 例:
- Static void createBatch() throws SQLException{
- ……
- String sql = insert into user(name,password);
- ps.conn.prepareStatement(sql);
- for(int I = 0; I < 10000; i++){
- ps.setString(1,”name”+i);
- ps.setString(2,”pwd”+i);
- ps.addBatch(); //如果是Statement的话也可以用st.addBatch(sql);,用这个方法可以把存入多个SQL语句,然后统一发送执行
- }
- int[] num = ps.executeBatch(); //用这个方法发送并批执行,返回多个整型值
- ……
- }
【编辑推荐】