关于 useGeneratedKeys和keyProperty
我对于useGeneratedKeys和keyProperty 这两个属性的理解还是有点懵。。
第一张图说 使用useGeneratedKeys 让id自增 然后keyProperty 大概意思是返回新增的id?
然后第二张图说 就写这样就可以了 因为后面用不上id
根据第一和第二种写法 是不是不设置useGeneratedKeys也可以让id自增的呢?那么useGeneratedKeys有什么用呢?
既然第二种写法是可以的 keyProperty返回的id到底有什么用呢?直接用第二种方法插入数据不就行了吗?是因为我们后面需要用到id这个值吗?但是这个是插入语句 用第二种方法直接插入之后 id也会自增 然后我们需要用到的时候 调用的是 select标签 不是会读取id值吗?为什么在insert需要返回id值呢?
正在回答
感觉同学学的有点模糊,你可以这么理解,在MyBatis中,你如果在sql语句中插入了相关表的主键,就不需要配置useGeneratedKeys属性了,如下图所示,
如果你配置了useGeneratedKeys属性,也就是设置强制使用自动生成主键,在sql语句中就不需要在添加主键字段数据了了,下图sql中就没有插入id值。
不是必要获取id的,如果你不需要,也可以不用,祝学习愉快~
- 参与学习 人
- 提交作业 205 份
- 解答问题 4317 个
Java中非常实用的SSM整合开发内容,从Spring开始,到MyBaits的进阶内容,再到SpringMVC的应用,最后是SSM整合开发案例,逐步深入,助你成长为一名Java工程师!
了解课程
恭喜解决一个难题,获得1积分~
来为老师/同学的回答评分吧
0 星