`
baigu
  • 浏览: 59313 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

mybatis 批量插入insert、更新update java代码实现

阅读更多
在用mybatis
对于批量处理,
ibatis  sqlMapper方式已经不能用了。
自己试了一下,java实现batch
随便写的。

 SqlSession sqlse = getSqlSession();
        Connection connection = null;
        Transaction transaction = null;
        Environment env;
        BatchExecutor be;
        try {
            Configuration conf = sqlse.getConfiguration();
            conf.setDefaultExecutorType(ExecutorType.BATCH);
            env = conf.getEnvironment();
            connection = env.getDataSource().getConnection();
            connection.setAutoCommit(false);
            transaction = env.getTransactionFactory().newTransaction(connection, false);
            be = new BatchExecutor(conf, transaction);
            MappedStatement ms = conf.getMappedStatement(sqlID);
            int x = 0;

            Object bt;
            List<Object> bts = (List<Object>) bindParams;
             
            for (int i = 0; i < bts.size(); i++) {
                bt = bts.get(i);
                x = be.update(ms, bt);
                System.out.println(x + "x:");
            }

            be.commit(true);
            transaction.commit();
            List<BatchResult> bl = be.flushStatements();
            if(bl != null){
                for(int b = 0; b < bl.size(); b ++){
                    BatchResult br = bl.get(b);
                    re = br.getUpdateCounts();
                    System.out.println("re length:" + re.length);
                }
            }
            be.close(false);
            transaction.close();
            System.out.println(x);
        } catch (SQLException e) {
            e.printStackTrace();
        }
分享到:
评论

相关推荐

    MyBatis批量插入Update

    MyBatis批量插入Update MyBatis批量插入是一种高效的数据插入方式,通过将多条数据一次性插入数据库,可以大大提高插入速度。在实际测试中,使用MyBatis批量插入可以达到至少快一倍的执行效率。 MyBatis批量插入的...

    Mybatis Plus 自定义批量插入或批量更新(根据唯一索引)

    Mybatis Plus 提供了 `batchInsert()` 和 `batchUpdate()` 方法来实现批量插入和更新。这些方法接受一个实体对象列表,然后一次性将所有对象插入或更新到数据库。然而,当涉及到唯一索引时,简单的批量操作可能无法...

    mybatis 批量插入 嵌套select.pdf

    这个问题的描述是关于如何在MyBatis中正确地执行一个批量插入操作,其中一个字段的值依赖于对同一张表的SELECT查询结果。 原始的XML映射文件中的SQL插入语句尝试在FROM子句中直接更新目标表'chat_messages',这是不...

    Mybatis批量foreach merge into的用法

    Mybatis批量foreach merge into的用法是通过Mybatis的动态SQL语法foreach循环插入实现的,这种方法可以批量插入时间价格表数据。如果某个套餐的某天的价格存在,则更新,不存在则插入。下面是该方法的详细介绍: ...

    mybatisr代码生成插件(中文注释,生成批量插入及修改)

    总的来说,"mybatis-generator代码生成插件(中文注释,生成批量插入及修改)"是一款强大的开发辅助工具,它通过自动化代码生成,降低了开发难度,提高了代码质量,尤其是在处理复杂数据关系和大量数据操作时,其...

    mybatis数据操作(增删改查+批量操作)

    例如,你可以一次性插入多个对象,通过使用`&lt;insert&gt;`标签的`useGeneratedKeys`和`keyProperty`属性,配合`&lt;foreach&gt;`标签,可以方便地进行批量插入。对于更新和删除操作,也可以通过`&lt;update&gt;`标签内的`&lt;foreach&gt;`...

    Mybatis批量插入更新xml方式和注解方式的方法实例

    Mybatis批量插入更新xml方式和注解方式的方法实例 Mybatis是一款流行的持久层框架,它提供了多种方式来实现批量插入和更新操作。今天,我们将介绍Mybatis批量插入更新xml方式和注解方式的方法实例。 Mybatis批量...

    mybatis学习之路mysql批量新增数据的方法

    在本文中,我们将详细介绍MyBatis批量新增数据的方法,并对比单条insert和批量insert的效率。 一、单条insert语句 mysql的insert语句是最基本的插入数据的方法,语法如下: ```sql insert into 表名(字段,字段。...

    我们一起读文档,学习MyBatis(二)----------- Insert Update Delete操作的实现

    总结,MyBatis提供了一套完善的机制来处理数据库的Insert、Update和Delete操作,通过XML配置或者注解的方式将SQL语句与Java代码分离,使得开发更加高效且易于维护。同时,其动态SQL功能增强了SQL表达能力,源码分析...

    mybatis 批量将list数据插入到数据库的实现

    通过上面的示例代码,我们可以看到MyBatis批量将List数据插入到数据库的实现是非常简单的。我们只需要在Mapper层中创建一个方法来实现批量插入数据的功能,然后在Mapper.xml文件中定义对应的SQL语句来实现批量插入...

    Oracle + Mybatis实现批量插入、更新和删除示例代码

    本篇文章重点讨论如何在Oracle数据库环境下,利用MyBatis进行批量插入、更新和删除操作,这有助于提高数据库操作的效率,减少资源消耗。 批量操作在处理大量数据时尤其重要,因为单条记录的事务提交会消耗更多的...

    MyBatis批量添加、修改和删除

    批量添加通常通过 `session.insert()` 方法实现,该方法接受一个 SQL 映射语句 ID 和一个包含待插入对象的集合。在给出的示例中,创建了一个 `Student` 对象列表,然后调用 `session.insert()` 将它们一次性插入到...

    基于mybatis batch实现批量提交大量数据

    MyBatis批量提交大量数据的实现需要在xml文件中配置多条参数同时插入,例如:&lt;insert id="insertBatch2" parameterType="ctas.entity.SharkFlt"&gt; ... &lt;/insert&gt;。在Java代码中,需要使用SqlSessionFactory和...

    Java批量插入和查询

    Java中可以使用MyBatis框架来实现批量插入。MyBatis是一个开源的持久层框架,支持批量插入操作。 在Mapper.xml文件中,使用foreach标签来实现批量插入。例如: ```xml &lt;insert id="insertExceptionalDetails" ...

    mybatis自动sql生成插件源码

    MyBatis是一款流行的Java持久层框架,用于简化数据库操作,其特点是将SQL语句与Java代码分离,使得SQL和业务逻辑更加清晰。本项目提供的"mybatis自动sql生成插件源码"则进一步提升了开发效率,通过拦截器...

    MyBatis的项目。实现增删改查,以及多表联查和对标签的使用。批量删除。

    - **创建(Create)**: 在MyBatis中,创建数据通常通过`&lt;insert&gt;`标签来完成,其中包含SQL插入语句,MyBatis会自动生成主键(如果数据库支持自动增长)。 - **读取(Read)**: 使用`&lt;select&gt;`标签执行查询操作,...

    重新封装mybatis-generator

    这个经过重新封装的MyBatis-Generator版本,特别增加了对批量操作的支持,包括批量插入(batchInsert)和批量更新(batchUpdate)。这在处理大量数据时尤其有用,可以显著提高数据库操作性能,减少数据库连接的开销...

    SpringMVC + Mybatis 增删改查(批量删除)

    - **创建(Create)**:在Mybatis中,通常通过Mapper接口的insert方法实现数据插入,这个方法对应于XML配置中的insert标签,或者在接口上使用@Insert注解。 - **读取(Retrieve)**:查询数据通常通过select方法完成,...

    Mybatis实现插入数据后返回主键过程解析

    Mybatis实现插入数据后返回主键过程解析 Mybatis是一个基于Java的持久层框架,它提供了一个灵活的方式来访问和操作数据库。在实际开发中,经常需要在插入数据后返回主键值,以便于后续的业务逻辑处理。本文将详细...

Global site tag (gtag.js) - Google Analytics