mybatis批量update操作的写法,及批量update报错的问题解决方法

mybatis的批量update操作写法很简单,如下:

public interface YourMapper extends BaseMapper<YourExt> {

    void updateBatch(@Param("pojos") Collection<YourExt> pojos);
}
  <update id="updateBatch" parameterType="java.util.Collection">
        <foreach collection="pojos" item = "pojo" separator= ";" >
            update your_table t set pt.your_value = #{pojo.yourValue} where pt.id = #{pojo.id}
        </foreach>
    </update>

在执行过程中报异常,但是sql和参数直接在DB里执行是好的,原因是MySql默认不支持批量更新,需要开发人员主动设置,只需要在你的数据库连接url后面加上

&allowMultiQueries=true
就好了

例如我的数据库连接配置就会变成

原文地址:http://blog.51cto.com/13954634/2331053

时间: 2024-07-31 20:25:09

mybatis批量update操作的写法,及批量update报错的问题解决方法的相关文章

解决svn update 产生Node remains in conflict的报错问题

注意:目录下的文件冲突问题一定要先和开发确认一下,才执行恢复操作 1.今天执行svn update 更新java代码的时候出现了下面的报错 [[email protected] ROOT]# svn update -r 410 Updating '.': D META-INF A META-INF Skipped 'WEB-INF' -- Node remains in conflict ..... 2.WEB-INF目录下的文件有冲突,导致更新时,该目录直接被跳过,使用下面命令还原WEB-IN

mysql执行update报错1175解决方法

mysql执行update报错 update library set status=true where 1=1 Error Code: 1175. You are using safe update mode and you tried to update a table without a WHERE that uses a KEY column To disable safe mode, toggle the option in Preferences -> SQL Queries and

golang操作mysql,模糊查找like,%报错

前几天在操作sql语句的时候,发觉使用%会报错 例如 rows, err := DB.Query("select * from t_ally where ally_name like '%?%'", allyName) google了好久才发现: The wildcard % should be part of the parameter string 大致意思是: 通配符%,应该是参数字符串的一部分,也就是说%必须作为字符串写到参数里面去,而不能在sql语句 所以应该如下操作就ok了

mybatis配置文件,注意标签配置顺序。否则报错The content of element type &quot;configuration&quot; must match &quot;(properties?,settings?,...怎么解决

感谢原作者http://www.cnblogs.com/zhoumingming/p/5417014.html 注意每个标签必须按照顺序写,不然就会提示错误 顺序是 <?xml version="1.0" encoding="UTF-8" ?><!DOCTYPE configurationPUBLIC "-//mybatis.org//DTD Config 3.0//EN""http://mybatis.org/dtd

查询复杂对象用respsbody转换成json串时,mybatis的延迟加载报错的解决方法

在查询数据时,如果你查询的是复杂的对象需要通过respsbody转换成json串时,mybatis用的延迟加载会报以下错误: 解决方法:第一步在RequestMapping(参数中加入 produces =  "application/json")表示将功能处理方法将生产json格式的数据,此时根据请求头中的Accept进行匹配,如请求头"Accept:application/json"时即可匹配.第二步:在实体类中前面加上注解@JsonInclude(JsonIn

springboot集成报错,想要集成tk.mybatis报错,反射方法异常

在添加注释 @MapperScan("com.leyou.item.mapper")的时候,如果不小心就会导包倒错应该导成 import tk.mybatis.spring.annotation.MapperScan;而不是org如果是低版本的,也可以这样添加注释 @tk.mybatis.spring.annotation.MapperScan此坑使我头痛欲裂因为debug能找出这里数据没能传出来,但是就是不知道哪里出问题. 原文地址:https://www.cnblogs.com/x

SpringMVC + Spring + MyBatis 学习笔记:提交数据遭遇日期格式报400错误解决方法

系统:WIN8.1 数据库:Oracle 11GR2 开发工具:MyEclipse 8.6 框架:Spring3.2.9.SpringMVC3.2.9.MyBatis3.2.8 使用SpringMVC开发的时候,页面如果有日期格式的数据,后台接受也是java.util.Date,则报告400错误 .下面是解决方案的演示示例: 这个是实体类,里面createDate就是java.util.Date类型 1 import java.util.Date; 2 3 public class User {

hibernate 批量处理操作

一: hibernate的批量插入操作: hibernate进行批量插入时候,调用jdbc的批量插入效率要远高于hibernate的批量插入: 1 通过hibernate调用jdbc API完成100000条数据插入: package com.tem.test; import java.sql.Connection; import java.sql.PreparedStatement; import java.sql.SQLException; import java.util.Iterator

Oracle中如何实现Mysql的两表关联update操作

在看<MySQL 5.1参考手册>的时候,发现MySQL提供了一种两表关联update操作.原文如下: UPDATE items,month SET items.price=month.price WHERE items.id=month.id; 在MySQL中构造表验证了一下 mysql> select * from test; +------+--------+ | id | salary | +------+--------+ | 1 | 100 | | 2 | 200 | | 3