mybatis配置获取自增主键的操作方法

 更新时间:2024年05月10日 11:35:22   作者:宣布无人罪  
当需要刚刚插入数据库的数据对应的新增主键时,通过配置xml文件,使数据库返回新增主键id,并把主键id与类参数对应,本文给大家介绍了mybatis配置获取自增主键的操作方法,需要的朋友可以参考下

mybatis配置获取自增主键

01 使用场景

  • 当需要刚刚插入数据库的数据对应的新增主键时,通过配置xml文件,使数据库返回新增主键id,并把主键id与类参数对应

02 涉及配置

  • 注解@TableId(type = IdType.AUTO):在类主键id通过配置实现插入数据库时主键自增
public class XzsQuestionsAnswerCreate {

  @ApiModelProperty(value = "选项内容",required = true)
  @NotBlank(message = "选项内容不能为空")
  private String xzsOptionText;
  @ApiModelProperty(value ="选项标题",required = true)
  @NotBlank(message = "选项标题不能为空")
  private String xzsOptionTitle;
  @TableId(type = IdType.AUTO)
  @ApiModelProperty("标准答案id")
  private Long answerId;


}
  • mapper(数据操作层):正常插入接口

int saveQuestionAnswer(@Param("questionId")Long questionId, @Param("list")List<XzsQuestionsAnswerCreate> XzsQuestionsAnswerCreate);

  • 关键部分:配置MySQL插入数据对应的返回值
<insert id="saveQuestionAnswer" useGeneratedKeys="true" keyProperty="list.answerId" keyColumn="xzs_question_options_id">
    INSERT INTO xzs_question_options (
    xzs_question_id,
    xzs_option_text,
    xzs_option_title
    )
    VALUES
    <foreach collection="list" item="option"  open="(" separator="), (" close=")">
        #{questionId},#{option.xzsOptionText}, #{option.xzsOptionTitle}
    </foreach>
</insert>

03 关键部分使用

字段作用
useGeneratedKeyss=“true”开启主键自增返回设置
keyProperty类属性
keyColumn数据库字段
  • keyProperty对应的是返回的自增主键对应的属性,list中answerId属性会在插入语句后被赋值
  • mapper层函数中的返回值int,依旧是插入改变了多少行语句,不是自增主键

int saveQuestionAnswer(@Param("questionId")Long questionId, @Param("list")List<XzsQuestionsAnswerCreate> XzsQuestionsAnswerCreate);

keyColumn对应的是数据库中的字段

到此这篇关于mybatis配置获取自增主键的操作方法的文章就介绍到这了,更多相关mybatis获取自增主键内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • Java sort集合排序的两种方式解析

    Java sort集合排序的两种方式解析

    这篇文章主要介绍了Java sort集合排序的两种方式解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2019-11-11
  • Java StringTokenizer分隔符拆分字符串

    Java StringTokenizer分隔符拆分字符串

    Java中的StringTokenizer类用于将一个字符串分解成标记,本文主要介绍了Java StringTokenizer分隔符拆分字符串,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2023-08-08
  • springBoot整合shiro如何解决读取不到@value值问题

    springBoot整合shiro如何解决读取不到@value值问题

    这篇文章主要介绍了springBoot整合shiro如何解决读取不到@value值问题,具有很好的参考价值,希望对大家有所帮助,
    2023-08-08
  • 使用Java桥接模式打破继承束缚优雅实现多维度变化

    使用Java桥接模式打破继承束缚优雅实现多维度变化

    这篇文章主要为大家介绍了使用Java桥接模式打破继承束缚,优雅实现多维度变化,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-05-05
  • 关于log4j2的异步日志输出方式

    关于log4j2的异步日志输出方式

    这篇文章主要介绍了关于log4j2的异步日志输出方式,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2021-12-12
  • 教你在 IntelliJ IDEA 中使用 VIM插件的详细教程

    教你在 IntelliJ IDEA 中使用 VIM插件的详细教程

    这篇文章主要介绍了在 IntelliJ IDEA 中使用 VIM的教程,本文通过图文并茂的形式给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2020-05-05
  • java基础篇之Date类型最常用的时间计算(相当全面)

    java基础篇之Date类型最常用的时间计算(相当全面)

    这篇文章主要给大家介绍了关于java基础篇之Date类型最常用的时间计算的相关资料,Java中的Date类是用来表示日期和时间的类,它提供了一些常用的方法来处理日期和时间的操作,需要的朋友可以参考下
    2023-12-12
  • 详解SpringMVC Controller介绍及常用注解

    详解SpringMVC Controller介绍及常用注解

    本篇文章主要介绍了SpringMVC Controller介绍及常用注解,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-06-06
  • 聊聊Java和CPU的关系

    聊聊Java和CPU的关系

    java和cpu关系不大,但是也有点关系,下面我们来聊一聊java和cpu的关系,感兴趣的朋友一起看看吧
    2016-08-08
  • Java 如何从spring容器中获取注入的bean对象

    Java 如何从spring容器中获取注入的bean对象

    这篇文章主要介绍了Java 如何从spring容器中获取注入的bean对象,帮助大家更好的理解和使用Java,感兴趣的朋友可以了解下
    2020-11-11

最新评论