1. 场景 : 往数据库插入10W条记录
2. 思考方案 : 单纯的我们这里不涉及其他任何操作,我们只是想生成一个10W条记录而已,中间无其他步骤,得到的效果如下图所示,
而我们又不会mysql脚本啊之类的,那我们不如用java来实现,用jdbc的批次操作来完成 ,博客借鉴自:
https://blog.csdn.net/summeranhx/article/details/81583575?utm_source=blogxgwz0
实现的效果图为 :
3. 代码为 :
packageroot.report.control.dict;importorg.apache.ibatis.session.SqlSession;importroot.report.db.DbFactory;importjava.sql.Connection;importjava.sql.PreparedStatement;importjava.sql.SQLException;importjava.util.Date;/*** @Auther: pccw
* @Date: 2018/10/29 17:45
* @Description:*/
/*往自己本地mysql 当中插入10W条记录*/
public classTestTwo {public static voidmain(String args[]){
SqlSession sqlSession=DbFactory.Open(DbFactory.FORM); // 本地mysql数据库
insert(sqlSession);
}public static voidinsert(SqlSession sqlSession){
Connection conn=sqlSession.getConnection();//开始时间
Long begin = newDate().getTime();//sql前缀
String prefix = "INSERT INTO test_dict (code,name) VALUES ";try{//保存sql后缀
StringBuffer suffix = newStringBuffer();//设置事务为非自动提交
conn.setAutoCommit(false);//比起st,pst会更好些
PreparedStatement pst = (PreparedStatement) conn.prepareStatement("");//准备执行语句//外层循环,总提交事务次数
for (int i = 1; i <= 5; i++) {
suffix= newStringBuffer();//第j次提交步长
if(i == 1) {for (int j = 1; j < 10;