PreparedStatement批量(batch)插入数据
Posted kuillldan
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了PreparedStatement批量(batch)插入数据相关的知识,希望对你有一定的参考价值。
JDBC操作数据库的时候,需要一次性插入大量的数据的时候,如果每次只执行一条SQL语句,效率可能会比较低。这时可以使用batch操作,每次批量执行SQL语句,调高效率。
public Boolean doCreateBatch(List<Emp> values) throws Exception { try { String sql = " INSERT INTO emp(empno,ename,job,hiredate,sal,comm) VALUES " + " (?,?,?,?,?,?) "; this.conn.setAutoCommit(false); PreparedStatement stmt = this.conn.prepareStatement(sql); for(Emp emp : values) { stmt.setInt(1, emp.getEmpno()); stmt.setString(2, emp.getEname()); stmt.setString(3, emp.getJob()); stmt.setDate(4, new java.sql.Date(emp.getHiredate().getTime())); stmt.setDouble(5, emp.getSal()); stmt.setDouble(6, emp.getComm()); stmt.addBatch(); } System.out.println("before executing batch..."); stmt.executeBatch(); this.conn.commit(); System.out.println("after batch executed!"); this.conn.setAutoCommit(true); return true; } catch(Exception e) { throw e; } }
以上是关于PreparedStatement批量(batch)插入数据的主要内容,如果未能解决你的问题,请参考以下文章
PreparedStatement和resultSet接口如何使用batch和get方法