mybatis批量插入返回主键问题
今天整合mybatis时候用到返回主键问题,批量插入总是返回不了主键还报错。
记录入下:
pom版本:
<mybatis.version>3.2.6</mybatis.version>
mybatis.xml:
<insert id="addUserBatch" useGeneratedKeys="true" keyProperty="id" parameterType="java.util.List" >
insert into userinfo (UserName,UserPwd) values
<foreach collection="list" item="item" index="index" separator=",">
(#{item.username},#{item.userpwd})
</foreach>
</insert>
org.mybatis.spring.MyBatisSystemException: nested exception is org.apache.ibatis.executor.ExecutorException: Error getting generated key or setting result to parameter object. Cause: org.apache.ibatis.binding.BindingException: Parameter 'id' not found. Available parameters are [list]
这个版本有bug,升级版本为:
<mybatis.version>3.3.1</mybatis.version>
可以解决。
这里边还有一个问题,如何获取自增长的id:
public void test() {
// TODO Auto-generated method stub
UserInfo user = new UserInfo();
user.setUsername("mayijinfu");
user.setUserpwd("1234569");
UserInfo user2 = new UserInfo();
user2.setUsername("tianmao999999");
user2.setUserpwd("456");
ArrayList<UserInfo> arrayList = new ArrayList<UserInfo>();
arrayList.add(user);
arrayList.add(user2);
userService.addUserBatch(arrayList);
System.out.println("*******************************");
System.out.println("插入之后的主键user-id"+arrayList.get(0).getId());//从这可以看出,好像已经被持久化了,这个跟hibernate好像一直,有看大此博客的大神给解释////下。对于单个插入也是如此:user.getId(),即可获取主键id。
System.out.println("插入之后的主键user2-id"+arrayList.get(1).getId());
System.out.println("*******************************");
}
mybatis批量插入返回主键问题的更多相关文章
- mybatis 批量插入 返回主键id
我们都知道Mybatis在插入单条数据的时候有两种方式返回自增主键: 1.对于支持生成自增主键的数据库:增加 useGenerateKeys和keyProperty ,<insert>标签 ...
- Mybatis批量insert 返回主键值和foreach标签详解
Mybatis批量insert 返回主键 Mybatis从3.3.1版本开始,支持批量插入后返回主键ID.首先对于支持自增主键的数据库使用useGenerateKeys和keyProperty,对于不 ...
- mybatis 3 批量插入返回主键 Parameter 'id' not found
@Insert("<script>INSERT INTO scp_activity_gift (activity_id,type,gift_id,status,limit_num ...
- mybatis+postgresql10插入返回主键ID
MyBatis如果使用useGeneratedKeys去生成自增列会造成不成功,因为官方提供只支持这些数据库:mybatis generatedkeys,那么如果要用在oracle和postgresq ...
- MyBatis自动获取主键,MyBatis使用Oracle返回主键,Oracle获取主键
MyBatis自动获取主键,MyBatis使用Oracle返回主键,Oracle获取主键 >>>>>>>>>>>>>> ...
- MyBatis返回主键,MyBatis Insert操作返回主键
MyBatis返回主键,MyBatis Insert操作返回主键 >>>>>>>>>>>>>>>>> ...
- mybatis注解版in查询、字符串判空模糊匹配 、批量插入、插入返回主键
IN查询 @Select({"<script> " + " select * "+ " from business_threat bt \ ...
- mybatis mysql 批量insert 返回主键
Mybatis在插入单条数据的时候有两种方式返回自增主键: mybatis3.3.1支持批量插入后返回主键ID, 首先对于支持自增主键的数据库:useGenerateKeys和keyProper ...
- PostgreSQL使用MyBatis,insert时返回主键
MyBatis中普通的insert语句是这样的: <insert id="insert" parameterType="com.xxx.xxx.xxDo" ...
随机推荐
- php字符截取
mb_substr($str,0,2) 0 索引的位置 2 长度 mb_substr($str,0,-1) 最后一位如果是负数 表示从前面0开始到后面-1 0,-1都是索引
- js暂停的函数
// numberMillis 毫秒 function sleep(numberMillis) { var now = new Date(); var exitTime = now.getTime() ...
- jS正则和WEB框架Django的入门
JS正则 -test 判断字符串是否符合规定的正则表达式 -exec 获取匹配的数据 test的例子: 从上述的例子我们可以看出,如果rep.test匹配到了就返回true,否则返回false exe ...
- Python之路----------ConfigParser模块
Python的ConfigParser 废话不说,拿去用 #coding=utf-8 import configparser ''' 基於Python3.0版本寫的配置文件的創建.增加.刪除.修改等方 ...
- MySQL查询出错提示 --secure-file-priv解决方法
原文 在某台DB上准备运行一个SQL语句,就是用SELECT INTO OUTFILE把查询结果写入到文件的时候提示以下信息: The MySQL server is running with the ...
- form上传文件2种方式
示例1: 表单里有图片/文件的上传 <form enctype="multipart/form-data" method="post"> <i ...
- ArcGis for Android 工作与学习
ArcGis安装 需求 windows7(32/64) Eclipse3.6以上版本 Android Sdk 2.2以上 Jdk 7 安装步骤 Eclipse安装 下载ArcGis插件 在Eclips ...
- 滚动轮播效果,.net 没得混看来只能去写js 了
<!DOCTYPE html> <html> <head> <title> 滚动图片 </title> <style type=&qu ...
- 5.开发webservice
package com.atguigu.ws; import javax.jws.WebMethod; import javax.jws.WebService; /** * * @author Adm ...
- css实现三角形箭头
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...