mybatis中的useGeneratedKeys和keyProperty

在 MyBatis 中,<insert> 标签用于定义插入数据的 SQL 语句。useGeneratedKeyskeyProperty 属性:常用于获取数据库自动生成的主键。以下是这两个属性的详细解释:

useGeneratedKeys

  • 作用: 指示 MyBatis 是否 使用JDBC 的 getGeneratedKeys 方法来获取数据库表自动生成的主键值
  • 值: 可以是 truefalse

keyProperty

  • 作用: 将数据库表自动生成的主键值 赋值 给传入的Java 对象的哪个属性
  • 值: Java 对象的属性名。

示例代码

<insert id="insertUser" useGeneratedKeys="true" keyProperty="id">
    insert into user(openid, name, phone, sex, id_number, avatar, create_time)
    values (#{openid}, #{name}, #{phone}, #{sex}, #{idNumber}, #{avatar}, #{createTime})
</insert>

代码解释

  1. useGeneratedKeys=“true”:

    • 表示 MyBatis 在执行插入操作后,会调用 JDBC 的 getGeneratedKeys 方法获取数据库生成的主键值。
  2. keyProperty=“id”:

    • 指定生成的主键值将赋值给传入的 Java 对象的 id 属性。

工作流程

  1. 执行插入 SQL 语句。
  2. 数据库生成一个新主键值(如自增 ID)。
  3. MyBatis 使用 getGeneratedKeys 方法获取生成的主键值。
  4. 将生成的主键值赋值给对应 Java 对象的 id 属性。

相关推荐

  1. mybatisuseGeneratedKeyskeyProperty

    2024-07-21 16:58:02       29 阅读
  2. Mybatis${}#{}区别

    2024-07-21 16:58:02       43 阅读
  3. MyBatis#{}${}用法

    2024-07-21 16:58:02       67 阅读
  4. mybatis #{} ${}区别是什么?

    2024-07-21 16:58:02       33 阅读
  5. MyBatis优点缺点?

    2024-07-21 16:58:02       25 阅读
  6. mybatis$#区别以及各自使用场景

    2024-07-21 16:58:02       42 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-07-21 16:58:02       141 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-07-21 16:58:02       156 阅读
  3. 在Django里面运行非项目文件

    2024-07-21 16:58:02       129 阅读
  4. Python语言-面向对象

    2024-07-21 16:58:02       141 阅读

热门阅读

  1. AI Agent的创新之路:AutoGen与LangGraph的比较

    2024-07-21 16:58:02       23 阅读
  2. Android笔试面试题AI答之Activity(3)

    2024-07-21 16:58:02       25 阅读
  3. 关闭终端后继续执行celery任务

    2024-07-21 16:58:02       28 阅读
  4. 学习C语言之 深入了解数据存储

    2024-07-21 16:58:02       23 阅读
  5. WordPress杂技

    2024-07-21 16:58:02       30 阅读
  6. 赞扬的10条原则

    2024-07-21 16:58:02       31 阅读
  7. WHAT - 贪心场景和算法实现

    2024-07-21 16:58:02       31 阅读
  8. 多级联动jquery-cxselect-js的使用

    2024-07-21 16:58:02       30 阅读
  9. 使用"山水博客"的排序功能制作"专题文章"

    2024-07-21 16:58:02       24 阅读
  10. C# Word转换HTML(附在线转换工具)

    2024-07-21 16:58:02       30 阅读