jdbc插入百万条数据最快的实现方式
- 2017-07-05 11:40:00
- admin 原创
- 2613
import java.sql.Connection;
import java.sql.SQLException;
import java.sql.Statement;
import java.text.SimpleDateFormat;
import java.util.Date;
import com.mysql.jdbc.PreparedStatement;
public class TestDB {
public static void main(String[] args) {
try {
SimpleDateFormat myFmt=new SimpleDateFormat("yyyy年MM月dd日 HH时mm分ss秒 ");
Connection conn = ConnectDB.getConnection("MySQL", "127.0.0.1:3306/test_model", "root",
"123456");
String prefix="INSERT INTO customers (name,title,create_time) values";
PreparedStatement statement = null;
if (conn == null) {
System.out.println("Connection the database is failled !");
} else {
StringBuffer suffix = new StringBuffer();
conn.setAutoCommit(false);
statement = (PreparedStatement) conn.prepareStatement("");
System.out.println("执行开始时间*********"+myFmt.format(new Date()));
for(int i=1;i<=100;i++){
for (int j = 1; j <= 10000; j++) {
// 构建SQL后缀
suffix.append("('"+"李小龙" +i*j+"','long@live.com'"+ ",'"+myFmt.format(new Date())+"'"+"),");
}
String sql=prefix+suffix.substring(0, suffix.length() - 1);
statement.addBatch(sql);
statement.executeBatch();
conn.commit();
suffix=suffix = new StringBuffer();
}
ConnectDB.closeConn(conn); //关闭资源
// 4.2 调用Statement对象的executeUpdate(sql) 执行SQL 语句的插入
System.out.println("执行结束时间***************"+myFmt.format(new Date()));
}
} catch (SQLException e) {
e.printStackTrace();
}
}
}
发表评论
文章分类
联系方式
联系人: | 郑州-小万 |
---|---|
电话: | 13803993919 |
Email: | 1027060531@qq.com |
QQ: | 1027060531 |
网址: | www.wanhejia.com |
Update Required
To play the media you will need to either update your browser to a recent version or update your Flash plugin.