大量数据插入的时候,可以将数据量分批,每次事务提交一批。
例如:
con.setAutoCommit(false)// 更改JDBC事务的默认提交方式
Statement stmt = conn.createStatement()
// 第一批 省略n条
stmt.addBatch("insert into dept values (52,'a','aa')")
stmt.addBatch("insert into dept values (53,'b','bb')")
stmt.addBatch("insert into dept values (54,'c','cc')")
stmt.executeBatch()
con.commit()//提交JDBC事务
stmt.close()
// 第二批 省略n条
stmt = conn.createStatement()
stmt.addBatch("insert into dept values (52,'a','aa')")
stmt.addBatch("insert into dept values (53,'b','bb')")
stmt.addBatch("insert into dept values (54,'c','cc')")
stmt.executeBatch()
con.commit()//提交JDBC事务
stmt.close()
// 第n批
。。。。。。
con.setAutoCommit(true)// 恢复JDBC事务的默认提交方式
conn.close()
通过字符流把一次性把所有数据读出来.把数据split("|")后 放到一个数组里 下标为n%3==0的为第一种类型的数据 为1的是第二种类型 ... ...
在连接数据库把数组里的数据insert到数据库里 就用原始的jdbc插入就很快了
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)