Jdbc批量更新

 1 Connection conn = null;
 2         PreparedStatement stmt =  null;
 3         try{
 4             conn = JdbcUtil.getConnection();
 5             stmt = conn.prepareStatement("insert into t1 (id,name) values(?,?)");
 6
 7             for(int i=0;i<10;i++){
 8                 stmt.setInt(1, i+1);
 9                 stmt.setString(2, "aa"+(i+1));
10                 stmt.addBatch();//向缓存中加的参数
11             }
12
13             int [] ii = stmt.executeBatch();//批处理.每条语句影响的行数
14
15             for(int i:ii)
16                 System.out.println(i);
17         }catch(Exception e){
18             e.printStackTrace();
19         }finally{
20             JdbcUtil.release(null, stmt, conn);
21         }
时间: 2024-10-06 22:43:20

Jdbc批量更新的相关文章

[疯狂Java]JDBC:事务管理、中间点、批量更新

1. 数据库事务的概念: 1) 事务的目的就是为了保证数据库中数据的完整性: 2) 设想一个银行转账的过程,如果分两步,第一步是A的账户-1000,第二步是B的账户+1000,这两个动作必须是连贯的,如果中间断开(出现故障等)比如第一步执行完之后发生异常而终止了操作,那么A就白扣了1000,而B的账户也没有钱增加,这就发生了非常严重的错误: !!以上这个案例可以看出: a. 这两步必须是连贯的,一起合成的,应该作为一个整体逻辑执行单元来执行: b. 如果两步顺利执行完毕那么数据就是完整的,如果中

JDBC高级特性(一)结果集,批量更新

一.ResultSet的高级特性 1 可滚动ResultSet 1)向前和向后滚动 滚动特性 在JDBC初期版本中, ResultSet仅能向前滚动 在JDBC后续版本中, ResultSet默认能向前滚动或前后滚动 迟缓滚动:记录集可前后滚动,不受数据库数据更新影响 灵敏滚动:记录集可前后滚动,受数据库数据更新影响 由结果集类型设定 con.createStatement() con.createStatement(结果集类型, 结果集并发类型) con.createStatement(结果集

JDBC: 批量处理提高SQL处理速度

   当需要成批插入或者更新记录时.可以采用Java的批量更新机制,这一机制允许多条语句一次性提交给数据库批量处理.通常情况下比单独提交处理更有效率 JDBC的批量处理语句包括下面两个方法: addBatch(String):添加需要批量处理的SQL语句或是参数: executeBatch():执行批量处理语句: 通常我们会遇到两种批量执行SQL语句的情况: 多条SQL语句的批量处理: 一个SQL语句的批量传参: 测试代码: import java.sql.Connection; import

Mybatis批量更新数据

Mybatis批量更新数据 第一种方式 [html] view plain copy print? <update id="updateBatch" parameterType="Map"> update aa   set a=#{fptm}, b=#{csoftrain} where c in <foreach collection="cs" index="index" item="item&qu

Statement和PreparedStatement批量更新

优势:1.节省传递时间. 2.并发处理. PreparedStatement: 1) addBatch()将一组参数添加到PreparedStatement对象内部. 2) executeBatch()将一批参数提交给数据库来执行,如果全部命令执行成功,则返回更新计数组成的数组. Statement: 1) addBatch(String sql)方法会在批处理缓存中加入一条sql语句. 2) executeBatch()执行批处理缓存中的所有sql语句. 注意:PreparedStatemen

mybatis批量更新

mybatis批量更新 以前做的东西,怕忘了随手做一个记录 首先在配置数据库连接字符串后面加上 &allowMultiQueries=true 我的完整的是这样的 jdbc:mysql://192.168.1.200:3306/huasheng?characterEncoding=utf-8&allowMultiQueries=true Controller层把一个JSON字符串转换成list集合 @RequestMapping(value = "/update") p

spring批量更新数据 ---- BatchPreparedStatementSetter

spring给我们提供了jdbc的统一封装,和其它的orm不同,它是对jdbc api的封装,相当于我们自己写的java bean,而没有对对象模型进行封装(比如将po封装为pojo).它保持了jdbc数据对象的原始性,具有极大程度的灵活性,其性能也极高. 我们知道在进行增量操作的时候最好是使用PreparedStatement,这样会节省数据库服务器编译sql语句的成本.而Spring也提供了对增量操作的支持,而BatchPreparedStatementSetter接口则是其核心. 先看看B

Hibernate批量更新和批量删除批量添加 1(转)

通常,在一个Session对象的缓存中只存放数量有限的持久化对象,等到Session对象处理事务完毕,还要关闭Session对象,从而及时释放Session的缓存占用的内存.批量处理数据是指在一个事务中处理大量数据.以下程序在一个事务中批量更新CUSTOMERS表中年龄大于零的所有记录的AGE字段:Transaction tx = session.beginTransaction();Iterator customers=session.createQuery("from Customer c

Mybatis -- 批量更新 -- updateBatch

mysql数据库配置: 数据库连接必须配置:&allowMultiQueries=true并且'&' 用&替换 jdbc.url=jdbc:mysql://192.168.10.10:3306/gt_environ?characterEncoding=utf8&connectTimeout=1000&allowMultiQueries=true 啦啦啦 ---------------UpdateBatch Class : Dao /** * 批量更新environ