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

 更新时间:2019年01月16日 11:59:38   作者:Haozz_1994  
今天小编就为大家分享一篇关于MyBatis插入数据返回主键的介绍,小编觉得内容挺不错的,现在分享给大家,具有很好的参考价值,需要的朋友一起跟随小编来看看吧

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中了。

总结

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,谢谢大家对脚本之家的支持。如果你想了解更多相关内容请查看下面相关链接

相关文章

  • Java中FileWriter的用法及wirte()重载方法详解

    Java中FileWriter的用法及wirte()重载方法详解

    这篇文章主要介绍了Java中FileWriter的用法及wirte()重载方法详解,FileWriter是Java编程语言中的一个类,用于将字符写入文件,它提供了一种简单而方便的方式来创建、打开和写入文件,通过使用FileWriter,我们可以将字符数据写入文本文件,需要的朋友可以参考下
    2023-10-10
  • spring结合struts的代码详解

    spring结合struts的代码详解

    这篇文章主要介绍了spring结合struts的代码详解,需要的朋友可以参考下
    2017-09-09
  • java连接数据库知识点总结以及操作应用

    java连接数据库知识点总结以及操作应用

    这篇文章主要给大家介绍了关于java连接数据库知识点总结以及操作应用的相关资料, 当涉及到Java中数据库数据处理时,我们可以利用强大的Java数据库连接技术与各种数据库进行交互,需要的朋友可以参考下
    2023-12-12
  • Java单例模式的线程安全,饿汉和懒汉模式详解

    Java单例模式的线程安全,饿汉和懒汉模式详解

    这篇文章主要为大家详细介绍了Java单例模式的线程安全,饿汉和懒汉模式。文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下,希望能够给你带来帮助
    2022-02-02
  • SpringBoot中间件封装限流器的方案详解

    SpringBoot中间件封装限流器的方案详解

    这篇文章主要介绍了SpringBoot中间件封装限流器,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2023-07-07
  • 关于stream().sorted()以及java中常用的比较器排序

    关于stream().sorted()以及java中常用的比较器排序

    这篇文章主要介绍了关于stream().sorted()以及java中常用的比较器排序,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2024-05-05
  • java自定义注解接口实现方案

    java自定义注解接口实现方案

    java注解是附加在代码中的一些元信息,用于一些工具在编译、运行时进行解析和使用,起到说明、配置的功能,本文将详细介绍,此功能的实现方法
    2012-11-11
  • mybatis TypeHandler注入spring的依赖方式

    mybatis TypeHandler注入spring的依赖方式

    这篇文章主要介绍了mybatis TypeHandler注入spring的依赖方式,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-01-01
  • Java把list分成多个list的方法示例

    Java把list分成多个list的方法示例

    在编程中将大的list集合拆分为多个小集合可以提高处理效率,主要拆分方法包括等量拆分适用于均匀处理数据、 指定数量拆分按固定子集大小划分、根据条件拆分按特定规则进行,这些方法有助于多线程异步处理,需要的朋友可以参考下
    2024-11-11
  • java判断今天,昨天,前天,不能用秒间隔的简单实例

    java判断今天,昨天,前天,不能用秒间隔的简单实例

    下面小编就为大家带来一篇java判断今天,昨天,前天,不能用秒间隔的简单实例。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-03-03

最新评论