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

Mybatis批量更新配置(Mysql batch update)

阅读更多

Mybatis在Mysql批量更新中不支持BEGIN与END关键字,所以如下配置是错误的:

<update id="batchUpdate"  parameterType="java.util.List">
      
          <foreach collection="list" item="item" index="index" open="begin" close="end;" separator=";">
                update test 
                <set>
                  test=${item.test}+1
                </set>
                where id = ${item.id}
         </foreach>
          
</update>

 

正确做法如下:

 

方法一:执行多条SQL语句
<update id="batchUpdate" parameterType="java.util.List">

<foreach collection="list" item="item" index="index" open="" close="" separator=";">
update test 
<set>
test=${item.test}+1
</set>
where id = ${item.id}
</foreach>

</update>
 
方法二:执行一条SQL语句(建议) 写道
<update id="batchUpdate" parameterType="java.util.List">
update test set test=${item.test}+1 where id in
<foreach collection="list" item="item" index="index" open="(" close=")" separator=",">
${item.id}
</foreach>
</update>
 

 

分享到:
评论

相关推荐

    mybatis执行批量更新batch update 的方法(oracle,mysql两种)

    这里我们将详细探讨如何在Oracle和MySQL数据库中使用MyBatis进行批量更新。 1. **Oracle数据库的批量更新** Oracle数据库的批量更新在MyBatis中通过`&lt;foreach&gt;`标签实现。以下是一个示例: ```xml &lt;update id=...

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

    &lt;update id="batchUpdate" parameterType="java.util.Map"&gt; update t_customer set c_name = #{cus.name}, c_sex = #{cus.sex}, c_ceroNo = #{cus.ceroNo}, c_ceroType = #{cus.ceroType}, c_age = #...

    Mybatis批量更新三种方式的实现

    Mybatis批量更新三种方式的实现 Mybatis是一款流行的持久层框架,它提供了强大的数据库交互能力。其中,批量更新是一种常见的操作,能够提高数据库操作的效率。下面将介绍Mybatis批量更新三种方式的实现。 方式一...

    Mybatis批量更新报错问题

    在MySQL中,如果不开启`allowMultiQueries`参数,Mybatis尝试执行包含多个SQL语句的批量更新时,会抛出`badsql`错误。因此,你需要在数据库连接URL中添加`&allowMultiQueries=true`,例如: ```jdbc jdbc:mysql://...

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

    MyBatis批量提交大量数据是一种高效的数据批量操作方式,通过MyBatis的BATCH方式执行增删改方法,可以实现在短时间内处理大量数据。下面对MyBatis批量提交大量数据的实现进行了详细的介绍。 MyBatis批量提交的优点 ...

    springboot mysql 批量更新 springboot batch批量更新.zip

    包括MyBatis-Plus提供的批量更新,JdbcTemplate提供的批量更新,在xml中循环拼接sql批量更新、case when语句批量更新、replace into方式批量更新、ON DUPLICATE KEY UPDATE批量更新。 适用于对Spring Boot和数据库...

    mybatis使用annotation在mysql,oracle上进行批量处理

    本文将详细讲解如何使用MyBatis的注解方式在MySQL和Oracle数据库上实现批量处理,旨在提高数据操作的效率。 首先,我们要理解MyBatis的核心原理,它是一个基于Java的持久层框架,通过XML或注解来映射SQL语句,简化...

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

    在上面的示例中,我们定义了一个名为`batchUpdate`的update语句,该语句将批量更新`t_student`表中的数据。`foreach`元素用来遍历List集合,并将每个元素的属性值更新到数据库中。 Mybatis批量更新注解方式 ...

    Mybatis Update操作返回值问题

    修改数据库连接配置后,Mybatis 的 update 方法将返回实际被修改的行数,从而更准确地反映更新操作的影响。这对于依赖返回值进行业务逻辑判断的情况尤其重要,例如判断操作是否成功、处理并发冲突等。 总结来说,...

    批量更新两种方法实践

    &lt;update id="batchUpdate"&gt; UPDATE FinancialSalesOrderDO (" separator="," close=")"&gt; SET column1 = #{item.column1}, column2 = #{item.column2} WHERE id = #{item.id} &lt;/update&gt; ``` 然后在Java代码中...

    xmljava系统源码-mybatis-generator-gui-plus:mybatis-generator-gul-plus

    批量更新 batchUpdate 批量可选更新 batchUpdateSelective 批量插入 batchInsert 条件查询返回一个 selectFirstByExample 核心特性 按照界面步骤轻松生成代码,省去XML繁琐的学习与配置过程 保存数据库连接与...

    mybatis基础源码及jar包

    4. **SQL映射语句**:在XML映射文件中,可以编写`&lt;select&gt;`, `&lt;insert&gt;`, `&lt;update&gt;`, 和 `&lt;delete&gt;`标签来分别对应SQL查询、插入、更新和删除操作。还可以使用动态SQL,使得SQL语句可以根据传入参数的变化而变化。 ...

    SSM笔记-批量处理

    Java代码中,调用`sqlSession.update("batchUpdate", dataList)`执行批量更新。 3. 开发步骤: - 首先,确保你的Mybatis配置文件开启了自动提交,或者在代码中手动开启事务。 - 编写Mapper接口和对应的XML映射...

    Mysql批量操作1

    &lt;update id="batchUpdate" parameterType="java.util.List"&gt; ;"&gt; UPDATE mon_alert_detail !=null and item.alertPmCode!=''"&gt;alert_pm_code = #{item.alertPmCode}, !=null and item.alertNo!=''"&gt;alert_no =...

    Spring启动2.0-mybatis-mysql

    - `pom.xml`:Maven的配置文件,定义了项目的依赖关系,包括Spring Boot、MyBatis、MySQL驱动等。 - `application.properties`/`application.yml`:Spring Boot的配置文件,设置应用的相关属性。 - `src/main/...

    mybatis增删改查

    接下来,我们需要配置 MyBatis 的核心配置文件 `mybatis-config.xml`。在这个文件中,我们定义数据源、事务管理器和 SqlSessionFactory。例如: ```xml &lt;!DOCTYPE configuration PUBLIC "-//mybatis.org//DTD ...

    spring整合mysql的一些基本操作

    9. **批量更新**:当需要对大量数据进行相同操作时,可使用`batchUpdate`。例如批量插入: ```java String sql = "INSERT INTO table_name (column1, column2) VALUES (?, ?)"; List[]&gt; batchParams = new ...

Global site tag (gtag.js) - Google Analytics