Mbatis批量插入

简介: Mbatis批量插入@Date 2016.11.13使用Mbatis批量插入功能代码示例在做批量插入时要注意细节、如有写错会有奇怪的异常抛出有可能会出现异常 : Parameter ‘__frch_callRecord_0’ not fo...

Mbatis批量插入

@Date 2016.11.13

使用Mbatis批量插入功能代码示例

  • 在做批量插入时要注意细节、如有写错会有奇怪的异常抛出
  • 有可能会出现异常 : Parameter ‘__frch_callRecord_0’ not found
@Insert('''<script>
        INSERT INTO xxx (
            prefix_number,
            serial_number,
            is_register,
            insert_date,
            update_date,
            all_number,
            merchant_id
        ) VALUES
        <foreach collection="list" item="item" index="index" separator="," >
            (
                #{item.prefixNumber},
                #{item.serialNumber},
                #{item.isRegister},
                now(),
                now(),
                #{item.allNumber},
                #{item.merchantId}
            )
        </foreach>
    </script>''')

批量插入时遇到如下异常(Caused by: org.apache.ibatis.binding.BindingException: Parameter ‘__frch_callRecord_0’ not found.)

异常现象

  • 使用mbatis批量插入时、出现如下异常:
Caused by: org.apache.ibatis.binding.BindingException: Parameter '__frch_callRecord_0' not found.

解决思路

  • Mbatis对此类问题的异常描述不是很清晰,如出现上诉异常,主要检查以下几个方面
    • 批量插入的List对象中字段是否和数据库表中字段名一致并且都存在
    • 批量插入的List对象中是否有NULL的对象(此原因很重要)
    • 在Mbatis的XML或者注解的Sql语句中,是否传入的表字段和list字段一致
相关文章
|
2月前
|
SQL 关系型数据库 MySQL
SQL批量插入测试数据的几种方法?
SQL批量插入测试数据的几种方法?
103 1
|
7月前
|
SQL 人工智能 关系型数据库
|
Java 大数据 Spring
MyBatis-Plus - 批量插入、更新、删除、查询
MyBatis-Plus - 批量插入、更新、删除、查询
2411 0
|
存储 关系型数据库 MySQL
MySQL存储过程——批量插入数据
MySQL存储过程——批量插入数据
1242 0
MySQL存储过程——批量插入数据
|
SQL XML 数据格式
MaBatis:动态SQL使用foreach进行批量插入
MaBatis:动态SQL使用foreach进行批量插入
260 0
|
Java 数据库连接 数据库
|
存储 关系型数据库 MySQL
mysql数据库编写存储过程实现批量插入1000万条数据
mysql数据库编写存储过程实现批量插入1000万条数据
703 0
mysql数据库编写存储过程实现批量插入1000万条数据
|
SQL Java 数据库连接
mybatis-批量插入与更新
mybatis-批量插入与更新
|
关系型数据库 MySQL 大数据
MySQL 批量插入,如何不插入重复数据?
知识这个东西,看来真的要温故而知新,一直不用,都要忘记了。 业务很简单:需要批量插入一些数据,数据来源可能是其他数据库的表,也可能是一个外部excel的导入。 那么问题来了,是不是每次插入之前都要查一遍,看看重不重复,在代码里筛选一下数据,重复的就过滤掉呢? 向大数据数据库中插入值时,还要判断插入是否重复,然后插入。如何提高效率?
422 0