首页 > 其他分享 >Mybatis框架 <insert> 标签内 useGeneratedKeys="true" 和 keyProperty="xxx" 属性

Mybatis框架 <insert> 标签内 useGeneratedKeys="true" 和 keyProperty="xxx" 属性

时间:2024-05-23 15:31:25浏览次数:20  
标签:keyProperty useGeneratedKeys 数据库 xxx 键值 Java true 属性

  useGeneratedKeys="true" 和 keyProperty="secondIndex" 这两个属性经常与 MyBatis(Java 持久层框架)的 <insert> 标签一起使用。这两个属性主要用于在插入记录后,从数据库返回的自动生成的主键或其他键值中,获取该键值并将其设置到 Java 对象的某个属性中。

  • useGeneratedKeys="true"

  这个属性告诉 MyBatis 在执行 <insert> 操作后,从数据库获取由数据库生成的键值(例如,自增主键)。默认情况下,MyBatis 并不执行这个操作,但当你设置 useGeneratedKeys="true" 时,它会请求数据库返回这个值。

  • keyProperty="secondIndex"

  这个属性指定了 Java 对象中哪个属性应该被设置为由数据库生成的键值。如设置的 id 是 Java 对象的一个属性名。当 MyBatis 执行 <insert> 操作并成功插入记录后,它会检查 useGeneratedKeys 是否为 true,如果是,它会从数据库获取生成的键值,并将这个值设置到 Java 对象的 id 属性中。 

标签:keyProperty,useGeneratedKeys,数据库,xxx,键值,Java,true,属性
From: https://www.cnblogs.com/warmNest-llb/p/18208570

相关文章

  • jar 启动提示: xxx.jar 中没有主清单属性
    一、背景说明1.现场有个jar包,里面的一个配置文件被研发写死在代码里了,为了图省事。不想重新打包。于是直接解压,结果报错了。当时的解压命令mkdircecp../wangzy.jar.jarxvfwangzy.jar2.修改对应配置文件。然后重新压缩rm-rfwangzy.jarjarcvfwangzy.jar*启......
  • Git:warning: CALF wilL be replaced by LF in xxxx 问题解决
    warning:CALFwilLbereplacedbyLFinxxxx问题解决办法出现这个问题的原因是像缓存区中提交文件时出现的 原因:windows中的换行符为CRLF,而在Linux下的换行符为LF,所以在执行add.时出现提示也就是,工作区的文件都应该用CRLF来换行。如果 改动文件时引入了LF,提......
  • 错误: 找不到或无法加载主类 XXX类 || jmap -histo:live 2345 | less
    今天在学习jvm的时候,想要通过jmap-histo:live20368|less命令查看堆中存活对象信息。但是在windows系统中貌似好像不支持这个命令 于是我将自己的程序上传到了Linux系统中,但是经过编译完了之后,运行该class文件的时候,提示:错误:找不到或无法加载主类XXX类。这个错误的原......
  • The POM for XXX is invalid, transitive dependencies (if any) will not be availab
    1、说明产生这样原因很多,本人工程是公司团队一起做的、模块命名、包命名都不太规范。为了系统和功能可持续使用对项目规范做了修改。   项目名称、模块名及包名都做了重新命名。导致项目编译发生引用冲突。2、根据原因为IDEA缓存本地的与依赖相关文件.iml文件发生冲突引起......
  • (xxxx)十四:实战协议分析
    1、xxxx的聊天通信协议是基于tls1.3精简了一些握手的方法,官方的介绍在这:https://mp.weixin.qq.com/s/tvngTp6NoTZ15Yc206v8fQ;   总的来说,这篇文章对xxxx协议做了总体的介绍。为了便于理解、抓住主脉络,我这里整理了整个协议的主干思路,如下:    tls1.3协议......
  • [20240515]vim bccalc_XXX.vim使用插件简介.txt
    [20240515]vimbccalc_XXX.vim使用插件简介.txt--//这是我改写vim.org网站的一个调用bc做计算的一个插件bccalc.vim,感觉自己越写越复杂.做一个介绍,便于自己查阅.--//另外注意如果选择多行,结尾要像C语言一样使用分号(;).--//我已经统一在selectvisualnormal模式都是<leader>作......
  • TypeScript 的声明文件 xxx.d.ts
    在TypeScript中,declare 关键字用于创建类型声明,它告诉编译器某些变量已经存在,但是在编译时不会进行实际的生成代码操作。它通常用于描述外部的、已存在的JavaScript代码的结构和类型,或者用于定义全局变量、函数、类等,以便在TypeScript项目中进行类型检查和代码提示,但不会在最......
  • 痞子衡嵌入式:恩智浦i.MX RT1xxx系列MCU启动那些事(12.A)- uSDHC eMMC启动时间(RT1170)
    大家好,我是痞子衡,是正经搞技术的痞子。今天痞子衡给大家介绍的是恩智浦i.MXRT1170uSDHCeMMC启动时间。本篇是i.MXRT1170启动时间评测第五弹,前四篇分别给大家评测了RawNAND启动时间(基于MIMXRT1170-EVK_Rev.B)、SerialNOR启动时间(基于MIMXRT1170-EVB_Rev.A2)、1......
  • 20240509xxx集群xx节点PLEG超时问题
    20240509xxx集群xx节点PLEG超时问题//20240509写在前面xxx集群xx节点又又又又又卡住了,经过一系列排查,终于解决了问题,由于这次找到了通用解法,所以在此记录下ps:国内的搜索引擎是真的shi。。搜出来的帖子都是抄来抄去的,还不解决问题,还得是google/大拇指问题起因:偷得浮生半日......
  • 解决Vue3项目警告:xxxis-declared-but-its-value-is-never-read
    刚刚在Vue3项目引入的一个组件Person下有红线,系统给出了警告,这是因为TypeScript会检查代码中未使用的变量,我定义了'Person'的变量,但是后续代码没有使用到它,从而导致Vetur(Vue的语法检查工具)给出了这个警告。解决方法:方法一:你可以删除或者在代码中使用'Person'变量或类型,以......