MyBatis插入数据返回主键的介绍

作者:Haozz_1994 时间:2023-10-26 03:15:21 

Service层:


public int addUser(UserDomian user){
 int i = userMapper.insert(user);
}

xml:


<insert id="insert" parameterType="....UserDomain">
 insert into t_user(user_name,password)
 values
 (#{userName},#{password})
</insert>

这样userMapper的insert方法成功插入之后返回值为影响行数,也就是1。而且插入之后userDomain实体类的userId为null。

我们都知道在MyBatis中,xml的insert语句中将useGeneratedKeys指定为true,那么返回之后就会得到新增的主键值,具体写法如下:


<insert id="insert" parameterType="....UserDomain" useGeneratedKeys="true" keyProperty="userId">
 insert into t_user(user_name,password)values(#{userName},#{password})
</insert>

前提条件是对应的mysql表中id必须是自增的,并且对应的UserDomain实体类中有get、set方法,而且只适用于与mySql数据库,Oracle数据库不支持。

但是这样设置之后,在service层打断点,插入成功之后UserDomain确实和之前不一样,他的userId不再是null了,而是具体的主键id值,但是usetMapper的insert方法的返回值依然是1,也就是插入的影响行数。

也就是说,这样设置,mapper接口返回值依然是成功插入的记录数,但不同的是主键值已经赋值到领域模型实体的id中了。

来源:https://blog.csdn.net/hz_940611/article/details/80773139

标签:mybatis,插入数据,返回主键
0
投稿

猜你喜欢

  • Android批量修改文件格式/文件名的神操作分享

    2022-07-13 00:31:53
  • Java swing 图像处理多种效果实现教程

    2022-08-16 20:15:08
  • java实现二叉树的创建及5种遍历方法(总结)

    2022-03-14 09:00:28
  • Java Zookeeper分布式分片算法超详细讲解流程

    2023-07-08 06:56:36
  • C#中Html.RenderPartial与Html.RenderAction的区别分析

    2022-03-17 01:27:59
  • C#使用struct直接转换下位机数据的示例代码

    2023-06-07 01:49:01
  • Java递归寻路实现,你真的理解了吗

    2022-09-17 02:24:34
  • 用Java实现简单ATM机功能

    2023-05-10 13:36:03
  • Unity登录注册时限制发送验证码次数功能的解决方法

    2021-12-28 00:27:12
  • 比较2个datatable内容是否相同的方法

    2022-11-25 08:27:04
  • Idea热加载插件JRebel激活以及使用教程

    2022-03-27 18:16:34
  • 浅谈Java如何实现一个基于LRU时间复杂度为O(1)的缓存

    2022-02-02 08:35:36
  • Android实现快递单号查询快递状态信息

    2023-04-03 14:51:14
  • 详解C#中通过委托来实现回调函数功能的方法

    2021-08-14 05:02:58
  • Android入门简单实例

    2021-07-26 16:34:04
  • Android自定义View实现自动转圈效果

    2021-11-11 21:01:48
  • 一篇文章带你了解Java 中序列化与反序列化

    2021-11-27 21:19:27
  • unity5.6 导出gradle工程 Android Studio 导入问题及处理方法

    2022-03-12 00:45:25
  • SpringBoot自定义Starter实现流程详解

    2022-05-19 07:03:25
  • Java实现插入排序,希尔排序和归并排序

    2022-02-24 18:45:52
  • asp之家 软件编程 m.aspxhome.com