今天认识到一个新参数 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 最终的效果都是同样的 只是影响范围不一样