今天做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)相关推荐

  1. mybatis插入数据后返回自增主键ID详解

    1.场景介绍: ​ 开发过程中我们经常性的会用到许多的中间表,用于数据之间的对应和关联.这个时候我们关联最多的就是ID,我们在一张表中插入数据后级联增加到关联表中.我们熟知的mybatis在插入数据后 ...

  2. Mybatis Update操作 返回值修改为受影响条数

    到底 update 返回值代表什么呢?我们来验证一下便知道了,假设有如下一张表以及两条数据: 我们来编写一个简单的单元测试用例来验证下,首先使用 mybatis 简单的写个 mapper 进行更新操作 ...

  3. Mybatis 插入数据后返回自增主键ID

    1 xml 映射文件中处理 在映射器中配置获取记录主键值 在xml中 insert 标签中定义 : useGeneratedKeys为true,用来设置返回主键id的值, keyProperty 代表 ...

  4. 七种MYSQL插入数据后返回自增主键ID的方法

    我们都知道,mysql中的insert插入之后会有返回值,返回的是影响的行数,也就是说,成功插入一条数据之后返回的是1,失败则返回0.那么,很多时候我们都想要得到最后插入的id值,下面七种方法均可,结 ...

  5. mysql添加数据的同时返回自增主键id

    方法一(实测可用): <insert id="add" useGeneratedKeys="true" keyProperty="id" ...

  6. 【转】mybatis 自增主键配置

    mybatis自增主键配置(?) mybatis进行插入操作时,如果表的主键是自增的,针对不同的数据库相应的操作也不同.基本上经常会遇到的就是Oracle Sequece 和 MySQL 自增主键,至 ...

  7. mybatis mysql自增主键_mybatis 自增主键配置

    mybatis 自增主键配置 mybatis自增主键配置(?) mybatis进行插入操作时,如果表的主键是自增的,针对不同的数据库相应的操作也不同.基本上经常会 遇到的就是 Oracle Seque ...

  8. datatable如何生成级联数据_通过源码分析Mybatis是如何返回数据库生成的自增主键值?...

    在Mybatis中,执行insert操作时,如果我们希望返回数据库生成的自增主键值,那么就需要使用到KeyGenerator对象. 需要注意的是,KeyGenerator的作用,是返回数据库生成的自增 ...

  9. Mybatis 在 insert 之后想获取自增的主键 id,但却总是返回1

    记录一次傻逼的问题, 自己把自己蠢哭:Mybatis 在 insert 之后想获取自增的主键 id,但却总是返回1 错误说明: 返回的1是影响的行数,并不是自增的主键id: 想要获取自增主键id,需要 ...

最新文章

  1. 如何运用下载来的模板
  2. ASP.NET(C#)常用代码30例
  3. 光热发电未来或成长为南非电力供应市场的主力军
  4. (DOM艺术) 实用的动画
  5. 共用体的定义和应用【C++】
  6. python画三维几何图-Python下opencv使用笔记(二)(简单几何图像绘制)
  7. HDU - 2586 How far away ?(LCA)
  8. 高中计算机省赛试题,西店中学计算机信息学竞赛测试试卷、答题卷和答案(一)...
  9. 【转】OpenGL超级宝典笔记——纹理映射Mipmap
  10. java线程“生产/消费”模型2
  11. java接收并存储文件_客户端读取本地文件的数据,发送到服务器,服务器接收并存储到文件中...
  12. mysql in语句 索引,MySQL 中索引相关 SQL 语句
  13. 下载 / 安装 Visual Studio - C语言零基础入门教程
  14. java native方法使用
  15. macOS Big Sur中雷蛇鼠标驱动 雷云2.0无法正常使用解决办法与mac雷蛇卸载
  16. qq三国2015最新服务器,合服服务器查询
  17. OJ密码岛 1243.谢尔宾斯基三角形
  18. 怎样用计算机命令提高网速,老司机教你电脑网速慢怎么办
  19. Team Tic Tac Toe
  20. ecshop模板如何修改详细图解

热门文章

  1. USB Typec转HDMI方案
  2. 全网最快PCB打样| 急速小批量打样的秘密在这里
  3. 益博睿在全球范围被评为“卓越职场”
  4. VPS服务器性能一键测试脚本_IP路由/CPU基准/内存读取/下载上传速率测试脚本
  5. MarkDown语法学习--表格
  6. vi/vim虐我千百遍,我待vi/vim如初恋
  7. 阿里巴巴旗下半导体公司平头哥重磅发布了公司自研的云芯片
  8. 抠像 : 实时视频抠像
  9. 政府大数据之资源目录管理
  10. 解决虚拟机卡死且无法强制结束进程的问题