JDBC操作数据库的时候,需要一次性插入大量的数据的时候,如果每次只执行一条SQL语句,效率可能会比较低。这时可以使用batch操作,每次批量执行SQL语句,调高效率。

public Boolean doCreateBatch(List<Emp> values) throws Exception
{
try
{
String sql = " INSERT INTO emp(empno,ename,job,hiredate,sal,comm) VALUES "
+ " (?,?,?,?,?,?) ";
this.conn.setAutoCommit(false);
PreparedStatement stmt = this.conn.prepareStatement(sql);
for(Emp emp : values)
{
stmt.setInt(1, emp.getEmpno());
stmt.setString(2, emp.getEname());
stmt.setString(3, emp.getJob());
stmt.setDate(4, new java.sql.Date(emp.getHiredate().getTime()));
stmt.setDouble(5, emp.getSal());
stmt.setDouble(6, emp.getComm());
stmt.addBatch();
}
System.out.println("before executing batch...");
stmt.executeBatch();
this.conn.commit();
System.out.println("after batch executed!");
this.conn.setAutoCommit(true); return true;
}
catch(Exception e)
{
throw e;
}
}

PreparedStatement批量(batch)插入数据的更多相关文章

  1. JMeter 利用Jmeter批量数据库插入数据

    利用Jmeter批量数据库插入数据   by:授客 QQ:1033553122 1.   启动Jmeter 2.   添加 DBC Connection Configuration 右键线程组-> ...

  2. StackExchange.Redis 管道 批量 高性能插入数据

    现在用redis来做数据缓存的越来越多了,很多项目都有初始化redis数据的过程,由于初始化的数据比较大,那么该过程越快越好.这里我们以HashSet方法为例, 这里我们推荐用HashEntry[] ...

  3. mysql常用的统计类sql ,以及批量循环插入数据

    今天 select * from 表名 where to_days(时间字段名) = to_days(now()); 昨天 SELECT * FROM 表名 WHERE TO_DAYS( NOW( ) ...

  4. sql批量修改插入数据

    1.批量修改 select 'update 读者库 set 单位代码='''+新单位代码+''' where 单位代码='''+单位代码+'''' from 读者单位 ,)<'L' and is ...

  5. 利用Jmeter批量数据库插入数据

    1.   启动Jmeter 2.   添加 DBC Connection Configuration 右键线程组->添加->配置元件->JDBC Connection Configu ...

  6. 转JMeter 利用Jmeter批量数据库插入数据

    1.   启动Jmeter 2.   添加 DBC Connection Configuration 右键线程组->添加->配置元件->JDBC Connection Configu ...

  7. C#使用SqlTransaction事务回滚与SqlBulkCopy批量插入数据

    C#中批量处理数据,有时候因为一条记录导致整个批量处理失败.这时候肯能会导致数据不全等问题,这时候我们可以使用SqlTransaction来进行事务回滚,即是要么全部成功要么全部不成功.如下代码 // ...

  8. python中pymysql executemany 批量插入数据

    import pymysqlimport timedb = pymysql.connect("IP","username","password&quo ...

  9. S-HR之代码创建临时表并插入数据

    ... private String tempTab1 = null; //临时表EcirrWithPPTempTable public String getTempTable() { String ...

随机推荐

  1. 使用JavaScript根据从后台获取来的数据打开一个新的页面

    HTML代码是: 入库类型是: <select id="selectIn" onchange="goUrl(this.options[this.selectedIn ...

  2. 虚拟化之esxi命令行管理之二

    /vmfs # ls -l lrwxrwxrwx 1 root root 4 Mar 23 2013 devices -> /dev drwxr-xr-x 1 root root 512 Sep ...

  3. OSI安全体系结构

    建立七层模型主要是为解决异种网络互连时所遇到的兼容性问题.它的最大优点是将服务.接口和协议这三个概念明确地区分开来;也使网络的不同功能模块分担起 不同的职责.也就是说初衷在于解决兼容性,但当网络发展到 ...

  4. python数据类型之list

    1.append:增加元素到列表尾部 L.append(object) -> None -- append object to end 2.clear:清空列表中所有元素 3.count:返回列 ...

  5. JavaScript兼容性问题

    Firefox浏览器不支持js的innerText属性:

  6. SMO序列最小最优化算法

    SMO例子: 1 from numpy import * 2 import matplotlib 3 import matplotlib.pyplot as plt 4 5 def loadDataS ...

  7. weblogic11g重置控制台管理员用户名/密码

    weblogic安装后,很久不用,忘记访问控制台的用户名或者密码,可通过以下步骤来重置用户名密码. 说明:%DOMAIN_HOME%:指WebLogic Server 域(Domain)目录例如我的做 ...

  8. Oracle获取AWR和ASH

    -- 找到指定的snap select snap_id, max(sample_time) from sys.wrh$_active_session_history group by snap_id ...

  9. 正在调用的 ServicedComponent 配置不正确(请使用 regsvcs 重新注册)

    问题: 正在调用的 ServicedComponent 配置不正确(请使用 regsvcs 重新注册)   方法1: 我用的是64位操作系统.IIS中,启用32位应用程序设置为false.这样就可以了 ...

  10. jQ的toggle()方法示例

    定义和用法toggle() 方法切换元素的可见状态.如果被选元素可见,则隐藏这些元素,如果被选元素隐藏,则显示这些元素. 语法$(selector).toggle(speed,callback,swi ...