MyBatis 返回新增数据的自增id
2024-10-18 22:31:23
<insert id="save" parameterType="Vote" useGeneratedKeys="true" keyProperty="id">
INSERT INTO vote VALUES(null,#{theme},#{isuse})
<selectKey resultType="int" order="AFTER" keyProperty="id">
SELECT LAST_INSERT_ID() AS id
</selectKey>
</insert> 接收:
vm.save(vote);
int id=vote.getId();
批量时,传入list,获取时类同单个,mybatis自动把自增的id装入list中的对象的id,mapper.xml写法如:
<insert id="save" parameterType="list" useGeneratedKeys="true" keyProperty="id">
INSERT INTO t_usergift
(id,fromid,toid,`itemid`,amount,title,content,state,create_time)
VALUES
<foreach collection="list" item="item" index="index"
separator=",">
(#{item.id},#{item.fromid},#{item.toid},#{item.itemid},#{item.amount},#{item.title},#{item.content},#{item.state},#{item.createTime})
</foreach> </insert>
另:上述方式确实不能返回自增id,而且还报错(不认识keyProperty中指定的Id属性),解决如下(网传,没试过)
1、升级Mybatis版本到3.3.1以上。
2、在Dao中不能使用@param注解。
3、Mapper.xml中使用list变量接受Dao中的集合。
最新文章
- 【转】40条常见的移动端Web页面问题解决方案
- 【Win10】探索 Windows 10 10586 之 JumpList(跳转列表)
- Apple Demo
- ARM与x86之3--蝶变ARM
- 对《[Unity官方实例教程 秘密行动] Unity官方教程《秘密行动》(十二) 角色移动》的一些笔记和个人补充,解决角色在地形上移动时穿透问题。
- 【leetcode】Longest Common Prefix (easy)
- 使用WebBrowser的记录
- CFILE追加写入文件
- NodeJs技术
- Android之Notification-android学习之旅(二)
- MemoryStream请求与接收
- DJI-A2调参详细教程
- WebSocket实战之——JavaScript例子
- Oracle入门概述
- Oracle ____Undo
- 开始写博客,学习Linq(5)
- Web网站错误提示页面和默认訪问页面设置
- c/c++日期时间处理与字符串string转换
- 笔记本的Windows系统怎么设置有了外接鼠标后停用触摸板
- redis 管道技术 pipeline 简介