java数据库批量插入
传统拼接insert into table() values(),(),()这种方式实现批量插入
采用数据库持久化框架,比如hibernate,根据插入的记录数,设定每多少次循环执行一次commit操作
Ⅱ java批量插入怎么写
实现Java批量插入数据库数据,在javaeye中看到过几篇关于实现Java批量插入数据库数据,转载时没有找到,就自己写一下,也算是对自己学习过程中所遇到过的问题做一个总结。一般关于批量向数据库插入数据都采用PreparedStatement、Statement…………也包括直接使用JDBC API
Ⅲ java 大批量数据插入的优化问题!
用事务。这样可以具有统一性。然后第一个表插入的时候调用那个能返回主键的方法。这样把返回的主键带入第二条sql。。 或者写一个函数。。直接到数据库里面 操作插入去。
Ⅳ java中怎么实现批量录入数据
批量数据进入数据库使用addBatch()和executeBatch()方法
PreparedStatement.addBatch();
......
PreparedStatement.executeBatch();
需要注意的是一次最多不要超过50条:
1.因为插入的时候数据库已经锁定,然而若是一次性插入太多会造成其他业务的等待。
2.会造成内存的溢出
举例:
PreparedStatementpst=(PreparedStatement)con.prepareStatement("insertinto*****values(?,'***')");
for(inti=0;i<10000;i++){
pst.setInt(1,i);
//把一个SQL命令加入命令列表
pst.addBatch();
}
//执行批量更新
pst.executeBatch();
//语句执行完毕,提交本事务
con.commit();
资料来源:CSDN论坛-原资论坛料链接如下
URLSRC:http://bbs.csdn.net/topics/320048117
Ⅳ java批量插入mysql连接自己断掉
解决mysql自动断开连接的问题
有三个方法可以解决这个问题:
1:修改MySQL配置参数
2:修改JDBC
3:修改第三方的数据库连接池应用 Proxool.xml
方法1的解决方案:
这个参数的名称是 wait_timeout,其默认值为 28800秒(8小时)。其意义为关闭一个连接之前在这个连接上等到行动的秒数,也就是说,如果一个连接闲置超过这个选项所设置的秒数,MySQL 会主动断开这个连接。
Ⅵ java怎么实现千万级数据量批量插入到数据库中
先存进缓存数据库中,如redis等。然后写定时任务批量插入数据库
Ⅶ 如何利用java连接数据库并批量插入数据
简单手写一下
Stringsql="insert()values(?,?)";
conn.setAutoCommit(false);//关掉自动提交
PreparedStatementps=conn.prepareStatement(sql);
for(inti=0;i<list.getSize();i++){
ps.setString(1,list.get(i).xx);
ps.setString(2,list.get(i).yy);
ps.addBatch();
if(i%100==0){//用来处理大量数据,分批次提交
ps.excuteBatch();
ps.clearBatch();
}
}
ps.excuteBatch();
conn.commit();
ps.close();
Ⅷ java怎么将选中的多行数据插入表中
java 连接数据库时,往数据库一次添加多条数据,可以在 DAO 层,使用
executeBatch0批量插入数据,如下代
码:
conn = DBToolkit .getConnection0;
Statement stmt =
conn . createStatementO ; j //连续添加多条 SQL
stmt . addBatch (" insert into testdb . book ( kind , name ) values ( java ', java in j
aciton )");
stmt . addBatc (" insert into testdb . book ( kind , name ) values ( c ',’ c in aciton )");//执行批量执行
stmt .executeBatch0);
Ⅸ java中怎么一次性向表中插入一条或多条数据
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();
Ⅹ java 怎么多表同时插入到数据库
java连接数据库时,往数据库一次添加多条数据,可以在DAO层,使用executeBatch()批量插入数据,如下代码: conn = DBToolkit.getConnection(); Statement stmt = conn.createStatement(); //连续添加多条SQL stmt.addBatch("insert into testdb....