今天整合mybatis时候用到返回主键问题,批量插入总是返回不了主键还报错。
记录入下:
pom版本:
3.2.6
mybatis.xml:
insert into userinfo (UserName,UserPwd) values
(#{item.username},#{item.userpwd})
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,升级版本为:
3.3.1
可以解决。
这里边还有一个问题,如何获取自增长的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 arrayList = new ArrayList();
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 批量插入 返回主键id
我们都知道Mybatis在插入单条数据的时候有两种方式返回自增主键: 1.对于支持生成自增主键的数据库:增加 useGenerateKeys和keyProperty ,标签 ...
Mybatis批量insert 返回主键值和foreach标签详解
Mybatis批量insert 返回主键 Mybatis从3.3.1版本开始,支持批量插入后返回主键ID.首先对于支持自增主键的数据库使用useGenerateKeys和keyProperty,对于不 ...
mybatis 3 批量插入返回主键 Parameter 'id' not found
@Insert("
mybatis+postgresql10插入返回主键ID
MyBatis如果使用useGeneratedKeys去生成自增列会造成不成功,因为官方提供只支持这些数据库:mybatis generatedkeys,那么如果要用在oracle和postgresq ...
MyBatis自动获取主键,MyBatis使用Oracle返回主键,Oracle获取主键
MyBatis自动获取主键,MyBatis使用Oracle返回主键,Oracle获取主键 >>>>>>>>>>>>>> ...
MyBatis返回主键,MyBatis Insert操作返回主键
MyBatis返回主键,MyBatis Insert操作返回主键 >>>>>>>>>>>>>>>>> ...
mybatis mysql 批量insert 返回主键
Mybatis在插入单条数据的时候有两种方式返回自增主键: mybatis3.3.1支持批量插入后返回主键ID, 首先对于支持自增主键的数据库:useGenerateKeys和keyProper ...
PostgreSQL使用MyBatis,insert时返回主键
MyBatis中普通的insert语句是这样的:
(转)Mybatis insert后返回主键给实体对象(Mysql数据库)
& ...
随机推荐
Delphi_05_Delphi_Object_Pascal_基本语法_03
继续Delphi的学习之旅, 废话不多说,直接贴代码. { Delphi基本语法 1.对象 2.指针 3.类型别名 和 类型转换 } program DelphiObject; {$APPTYPE C ...
SQLite Expert Professional 3查看SQLite数据
通常在android进行SQLite数据库的处理查看很不方便,于是自己下载了一个SQLite Expert Professional 3可视化工具用来进行查询数据,由于时间问题就不多说了,直接讲使用方 ...
【温故Delphi】Win32API之CreateMutex
解决问题 如何让一个软件在一台机器上只能运行一个实例呢?这个问题用专业术语就是进程互斥.这个问题可以通过CreateMutex来解决. 进程互斥的核心思想:进程在启动时首先检查是否存在此进程实例,如果 ...
[WEB API] CLIENT 指定请求及回应格式(XML/JSON)
[Web API] Client 指定请求及响应格式(xml/json) Web API 支持的格式请参考 http://www.asp.net/web-api/overview/formats-an ...
SharePoint自动化系列——创建MMS terms
转载请注明出自天外归云的博客园:http://www.cnblogs.com/LanTianYou/ PowerShell脚本实现MMS group.termSet.terms的自动化创建: Add- ...
Python基础:1.数据类型(列表)
提示:python版本为2.7,windows系统 1.列表(List) List,是一个有序的集合,可以添加.删除其中的元素. >>> colors = ['red', 'oran ...
HTTP Basic Authentication认证的各种语言 后台用的
访问需要HTTP Basic Authentication认证的资源的各种语言的实现 无聊想调用下嘀咕的api的时候,发现需要HTTP Basic Authentication,就看了下. 什么是HT ...
hellocharts-android开源图表库(效果非常好)
泡在网上的日子 发表于 2014-11-07 12:28 第 33156 次阅读 chart 2 编辑推荐:稀土掘金,这是一个高质量的技术干货分享社区,web前端.Android.iOS.设计资源和产 ...
Python自动化--语言基础6--模块操作之re、MySQL、Excel
1.Python自有模块正则 import re # re.match只匹配字符串的开始,如果字符串开始不符合正则表达式,则匹配失败,函数返回None print(re.match("aaa ...
实现ppt幻灯片播放倒计时
需求:为控制会议时间,采取ppt幻灯片播放倒计时的办法,倒计时5分钟. 分析:用EnumWindows枚举窗口,发现PPT窗口类名有三种:PP12FrameClass.MS-SDIb.screenCl ...