关于Mybatis的insert方法返回值(将返回值受影响条数改为插入后的自增主键id)
今天做ssm项目的时候有一个这样的需求——我借阅一本书然后生成一条借阅记录(借阅记录的主键是递增的“borrowNum”),然后将这条记录的主键返回,在往上查阅资料后知道,只要在对应的xml文件对应的那个方法加上两个属性就行了,代码如下:
<insert id="insert" parameterType="com.bsm.model.Borrow" useGeneratedKeys="true" keyProperty="borrownum" keyColumn="borrowNum" >insert into t_borrow (userAccount, bookInfoNum,borrowTime, giveBackTime)values (#{useraccount,jdbcType=VARCHAR},#{bookinfonum,jdbcType=INTEGER},#{borrowtime,jdbcType=DATE}, #{givebacktime,jdbcType=DATE})</insert>
就是加入的这三个属性:
useGeneratedKeys="true" keyProperty="borrownum" keyColumn="borrowNum"
Mybatis 配置文件 useGeneratedKeys 参数只针对 insert 语句生效,默认为 false。当设置为 true 时,表示如果插入的表以自增列为主键,则允许 JDBC 支持自动生成主键,并可将自动生成的主键返回。“keyProperty”的值对应入参的字段名,“keyColumn”的值对应数据库表中的列名。
入参字段:
但是我们想接收这个返回的id的时候却不是我们想要的
int i=borrowMapper.insert(borrow);
我们得到的还是受影响的条数而不是返回的borrownum的值,那我们返回的borrownum去哪里了呢?在这里:我们的入参是不是一个borrow?
int mun=borrow.getBorrownum();
这个返回的mun就是我们要的borrownum了,原来这个返回的值放进了入参的那个对象中。
数据库字段:
参照大佬博文解决的疑惑: 大佬博文网址
关于Mybatis的insert方法返回值(将返回值受影响条数改为插入后的自增主键id)相关推荐
- mybatis插入数据后返回自增主键ID详解
1.场景介绍: 开发过程中我们经常性的会用到许多的中间表,用于数据之间的对应和关联.这个时候我们关联最多的就是ID,我们在一张表中插入数据后级联增加到关联表中.我们熟知的mybatis在插入数据后 ...
- Mybatis Update操作 返回值修改为受影响条数
到底 update 返回值代表什么呢?我们来验证一下便知道了,假设有如下一张表以及两条数据: 我们来编写一个简单的单元测试用例来验证下,首先使用 mybatis 简单的写个 mapper 进行更新操作 ...
- Mybatis 插入数据后返回自增主键ID
1 xml 映射文件中处理 在映射器中配置获取记录主键值 在xml中 insert 标签中定义 : useGeneratedKeys为true,用来设置返回主键id的值, keyProperty 代表 ...
- 七种MYSQL插入数据后返回自增主键ID的方法
我们都知道,mysql中的insert插入之后会有返回值,返回的是影响的行数,也就是说,成功插入一条数据之后返回的是1,失败则返回0.那么,很多时候我们都想要得到最后插入的id值,下面七种方法均可,结 ...
- mysql添加数据的同时返回自增主键id
方法一(实测可用): <insert id="add" useGeneratedKeys="true" keyProperty="id" ...
- 【转】mybatis 自增主键配置
mybatis自增主键配置(?) mybatis进行插入操作时,如果表的主键是自增的,针对不同的数据库相应的操作也不同.基本上经常会遇到的就是Oracle Sequece 和 MySQL 自增主键,至 ...
- mybatis mysql自增主键_mybatis 自增主键配置
mybatis 自增主键配置 mybatis自增主键配置(?) mybatis进行插入操作时,如果表的主键是自增的,针对不同的数据库相应的操作也不同.基本上经常会 遇到的就是 Oracle Seque ...
- datatable如何生成级联数据_通过源码分析Mybatis是如何返回数据库生成的自增主键值?...
在Mybatis中,执行insert操作时,如果我们希望返回数据库生成的自增主键值,那么就需要使用到KeyGenerator对象. 需要注意的是,KeyGenerator的作用,是返回数据库生成的自增 ...
- Mybatis 在 insert 之后想获取自增的主键 id,但却总是返回1
记录一次傻逼的问题, 自己把自己蠢哭:Mybatis 在 insert 之后想获取自增的主键 id,但却总是返回1 错误说明: 返回的1是影响的行数,并不是自增的主键id: 想要获取自增主键id,需要 ...
最新文章
- 如何运用下载来的模板
- ASP.NET(C#)常用代码30例
- 光热发电未来或成长为南非电力供应市场的主力军
- (DOM艺术) 实用的动画
- 共用体的定义和应用【C++】
- python画三维几何图-Python下opencv使用笔记(二)(简单几何图像绘制)
- HDU - 2586 How far away ?(LCA)
- 高中计算机省赛试题,西店中学计算机信息学竞赛测试试卷、答题卷和答案(一)...
- 【转】OpenGL超级宝典笔记——纹理映射Mipmap
- java线程“生产/消费”模型2
- java接收并存储文件_客户端读取本地文件的数据,发送到服务器,服务器接收并存储到文件中...
- mysql in语句 索引,MySQL 中索引相关 SQL 语句
- 下载 / 安装 Visual Studio - C语言零基础入门教程
- java native方法使用
- macOS Big Sur中雷蛇鼠标驱动 雷云2.0无法正常使用解决办法与mac雷蛇卸载
- qq三国2015最新服务器,合服服务器查询
- OJ密码岛 1243.谢尔宾斯基三角形
- 怎样用计算机命令提高网速,老司机教你电脑网速慢怎么办
- Team Tic Tac Toe
- ecshop模板如何修改详细图解