java mysql 批量插入效率_JDBC批量插入数据效率分析

对于需要批量插入数据库操作JDBC有多重方式,本利从三个角度对Statement和PreparedStatement两种执行方式进行分析,总结较优的方案。

当前实现由如下条件:

执行数据库:Mysql

执行数据数量:10万条

执行前提:执行差入数据库钱均需要提供空表,防止数据量大造成的影响

执行方式:Statement和PreparedStatement两种方式

执行步骤开始:

1、创建表

1 CREATE TABLE T_PRODUCT (2 ID bigint(12) NOT NULL AUTO_INCREMENT COMMENT '主键',3 NAME varchar(60) NOT NULL COMMENT '产品名称',4 WEIGHT varchar(60) NOT NULL COMMENT '产品重量',5 MARK varchar(60) NOT NULL COMMENT '产品说明',6 PRIMARY KEY (ID)7 ) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8 COMMENT='产品表';

2、编写操作数据库工具类

1 packagecom.luwei.test.jdbc;2

3 importjava.sql.Connection;4 importjava.sql.DriverManager;5 importjava.sql.SQLException;6 importjava.sql.Statement;7 importjava.util.ResourceBundle;8

9 /**

10 * TODO
11 *12 *@authorlu.wei
13 * @email 1025742048@qq.com
14 * @date 2017年1月9日
15 *@sinceV1.0
16 *@seecom.luwei.test.jdbc
17 */

18 public classJdbcTemplate {19 private static String DRIVER_CLASS_NAME = null;20 private static String URL = null;21 private static String USERNAME = null;22 private static String PASSWORD = null;23

24 static{25 ResourceBundle bundle = ResourceBundle.getBundle("jdbc");26 DRIVER_CLASS_NAME = bundle.getString("jdbc.driverClassName");27 URL = bundle.getString("jdbc.url");28 USERNAME = bundle.getString("jdbc.username");29 PASSWORD = bundle.getString("jdbc.password");30 }31

32 /**

33 *34 * 获取数据库连接
35 *36 *@authorlu.wei
37 * @email 1025742048@qq.com
38 * @date 2017年1月9日 下午10:19:41
39 *@return

40 *@throwsException41 *
42 */

43 public static Connection getConnection() throwsException {44 Class.forName(DRIVER_CLASS_NAME);45 Connection connection =DriverManager.getConnection(URL, USERNA

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值