关于Mybatis中keyProperty属性

Mybatis中insert标签的keyProperty属性的问题

今天看一个教程,中间有用mybatis写一个新增的方法,使用到了mybatis中的insert标签,需要新增之后返回新增行的主键ID,由于主键是自增的,所以实现方法可以用到useGeneratedKeys以及keyProperty这两个属性。

  • 例如这样:useGeneratedKeys="true" keyProperty="id"
  • 新增的xml如图:
    关于Mybatis中keyProperty属性
  • 这里要注意几个问题:
    1.keyProperty中对应的值是实体类的属性,而不是数据库的字段。
    2.添加该属性之后并非改变insert方法的返回值,也就是说,该方法还是返回新增的结果。而如果需要获取新增行的主键ID,直接使用传入的实体对象的主键对应属性的值。如下图:
    关于Mybatis中keyProperty属性
  • 这样就能拿到新增行的主键ID:
    关于Mybatis中keyProperty属性
    加油,奥力给!!!????????????