关于useGeneratedKeys的使用

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

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

表一:spa

                             

  表二:code

 

他们经过关键关联 在咱们进行添加时:blog

 

在咱们添加表一的数据时后 表二须要经过表一的id来进行查询添加 可是咱们获取不了表一的id
ci

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

这时候咱们就须要useGeneratedKeysclass

他有什么做用呢?配置

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

im

因此 咱们只须要在mybatis的配置文件中添加这个参数就能够了

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

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

另外有几点补充:

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

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

相关文章
相关标签/搜索