zoukankan      html  css  js  c++  java
  • 关于useGeneratedKeys的使用

    今天认识到一个新参数 useGeneratedKeys  再这里我记录分享一下

    在我们进行两表关联的时候,添加表1Specification 表2Specification_option

    表一:

                                 

      表二:

    他们通过外键关联 在我们进行添加时:

    在我们添加表一的数据时后 表二需要通过表一的id来进行查询添加 但是我们获取不了表一的id

    (虽然数据库中有自增的主键,但是我们的实体类中没有获取到添加的id)

    这时候我们就需要useGeneratedKeys

    他有什么作用呢?

    在mybatis的配置文件中,有个叫keyProperty和useGeneratedKeys的属性。useGeneratedKeys 参数只针对 insert 语句生效,默认为 false。当设置为 true 时,表示如果插入的表以自增列为主键,则允许 JDBC 支持自动生成主键,并可将自动生成的主键返回。

    所以 我们只需要在mybatis的配置文件中添加这个参数就可以了

    <insert id="insertSelective" parameterType="com.ujiuye.pojo.specification.Specification"
      useGeneratedKeys="true" keyProperty="id"
      >
        insert into tb_specification

    这样 我们就能直接获取主键的id了

    另外有几点补充:

    useGeneratedKeys参数只针对 insert 语句生效,默认为 false;

    有三处地方可以配置useGeneratedKeys 最终的效果都是一样的 只是影响范围不同

  • 相关阅读:
    《模糊测试--强制发掘安全漏洞的利器》阅读笔记(一)
    BrickerBot
    这些写的很好的PCA文章
    决策树(挖坑待填)
    线性回归
    关于给定DNA序列,如何找到合理的切割位点使得其退火温度保持相对一致
    生成全排列
    AVL树学习笔记
    二叉搜索树
    堆排序
  • 原文地址:https://www.cnblogs.com/hank-hush/p/12056530.html
Copyright © 2011-2022 走看看