mybatis insert 返回自增主键的实现示例

 更新时间:2024年06月27日 10:20:56   作者:薄荷街的兔比先生  
mybatis 在新增之后怎么也获取不到自增主键,本文主要介绍了mybatis insert 返回自增主键的实现示例,具有一定的参考价值,感兴趣的可以了解一下

需求

mybatis 在新增之后怎么也获取不到自增主键,通过不段的摸索原来是姿势不对,记录一下希望能帮助下一位采坑的同学

方式一

映射方式

<-- xml 映射的方式 -->
<insert id="insert" parameterType="com.kebi.User" useGeneratedKeys="true" keyProperty="id" keyColumn="id">
	INSERT INTO user (
		username, password
	) VALUES (
		#{username}, #{password}
	)
</insert>
属性描述
useGeneratedKeys为 true 则返回主键的值
keyProperty实体类中属性名
keyColumn数据库主键字段名 如果和实体属性名一样可以不用写
private UsertMapper userMapper;

User user = new User();
user.setUserName("name");
user.setPassWord("123")

userMapper.insert(user);

System.out.println("获取自增主键:"+ user.getId());

方式二

selectKey 的方式

<-- xml 映射的方式 -->
<insert id="INSERT" parameterType="com.kebi.User">
    <selectKey resultType="int" order="AFTER" keyProperty="id" keyColumn="id">
        SELECT LAST_INSERT_ID()
    </selectKey>
    INSERT INTO users (
    	username, password
    ) VALUES (
    	#{username}, #{password}
    )
</insert>
属性描述
resultType结果类型
keyProperty实体类中属性名
keyColumn数据库主键字段名
order这可以被设置为 BEFORE 或 AFTER。如果设置为 BEFORE,那么它会首先选择主键,设置 keyProperty 然后执行插入语句。如果设置为 AFTER,那么先执行插入语句,然后是 selectKey 元素 - 这和像 Oracle 的数据库相似,在插入语句内部可能有嵌入索引调用。
statementTypeMyBatis 支持 STATEMENT、PREPARED 和 CALLABLE 语句的映射类型,分别代表 PreparedStatement 和 CallableStatement 类型

到此这篇关于mybatis insert 返回自增主键的实现示例的文章就介绍到这了,更多相关mybatis insert 返回自增主键内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家! 

相关文章

  • java——Byte类/包装类的使用说明

    java——Byte类/包装类的使用说明

    这篇文章主要介绍了java——Byte类/包装类的使用说明,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2021-02-02
  • Spring Boot应用事件监听示例详解

    Spring Boot应用事件监听示例详解

    这篇文章主要给大家介绍了关于Spring Boot应用事件监听的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2018-12-12
  • Spring Data JPA带条件分页查询实现原理

    Spring Data JPA带条件分页查询实现原理

    这篇文章主要介绍了Spring Data JPA带条件分页查询实现原理,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-05-05
  • Java使用反射创建对象示例

    Java使用反射创建对象示例

    这篇文章主要介绍了Java使用反射创建对象,结合实例形式分析了java使用反射创建对象的具体实现方法及相关操作技巧,需要的朋友可以参考下
    2019-07-07
  • 最新log4j2远程代码执行漏洞(附解决方法)

    最新log4j2远程代码执行漏洞(附解决方法)

    Apache Log4j2 远程代码执行漏洞攻击代码,该漏洞利用无需特殊配置,经多方验证,Apache Struts2、Apache Solr、Apache Druid、Apache Flink等均受影响,本文就介绍一下解决方法
    2021-12-12
  • Java全面讲解顺序表与链表的使用

    Java全面讲解顺序表与链表的使用

    大家好,今天给大家带来的是顺序表和链表,我觉得顺序表还是有比较难理解的地方的,于是我就把这一块的内容全部整理到了一起,希望能够给刚刚进行学习数据结构的人带来一些帮助,或者是已经学过这块的朋友们带来更深的理解,我们现在就开始吧
    2022-05-05
  • maven tomcat plugin实现热部署

    maven tomcat plugin实现热部署

    这篇文章主要介绍了maven tomcat plugin实现热部署,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2018-07-07
  • idea如何关闭右侧类显示方法

    idea如何关闭右侧类显示方法

    这篇文章主要介绍了idea如何关闭右侧类显示方法,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2023-07-07
  • Spring MVC 与 CORS跨域的详细介绍

    Spring MVC 与 CORS跨域的详细介绍

    本文介绍了 CORS 的知识以及如何在 Spring MVC 中配置 CORS,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2017-05-05
  • Spring中网络请求客户端WebClient的使用详解

    Spring中网络请求客户端WebClient的使用详解

    作为替代,Spring 官方已在 Spring 5 中引入了 WebClient 作为非阻塞式 Reactive HTTP 客户端,本文将通过样例演示如何使用 WebClient,希望对大家有所帮助
    2024-04-04

最新评论