批量数据进入数据库使用addBatch()和executeBatch()方法
PreparedStatement.addBatch()
......
PreparedStatement.executeBatch()
需要注意的是一次最多不要超过50条:
1.因为插入的时候数据库已经锁定,然而若是一次性插入太多会造成其他业务的等待。
2.会造成内存的溢出
举例:
PreparedStatement pst = (PreparedStatement) con.prepareStatement("insert into ***** values (?,'***')")for (int i = 0 i < 10000 i++) {
pst.setInt(1, i)
// 把一个SQL命令加入命令列表
pst.addBatch()
}
// 执行批量更新
pst.executeBatch()
// 语句执行完毕,提交本事务
con.commit()
资料来源:CSDN论坛-原资论坛料链接如下
URL SRC: http://bbs.csdn.net/topics/320048117这个你只要配置3个SessionFactory、datasource分别使用3个用户,你可以使用一个jdbc.properties但是里面不要写用户,用户信息在datasource中直接写,然后你需要使用那个用户连接数据库就是用对应的SessionFactory即可!java连接数据库时,往数据库一次添加多条数据,可以在DAO层,使用executeBatch()批量插入数据,如下代码:conn = DBToolkit.getConnection()
Statement stmt = conn.createStatement()
//连续添加多条SQL
stmt.addBatch("insert into testdb.book (kind, name) values ('java', 'java in aciton')")
stmt.addBatch("insert into testdb.book (kind, name) values ('c', 'c in aciton')")
//执行批量执行
stmt.executeBatch()
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)