Mybatis中insert标签的keyProperty属性的问题
今天看一个教程,中间有用mybatis写一个新增的方法,使用到了mybatis中的insert标签,需要新增之后返回新增行的主键ID,由于主键是自增的,所以实现方法可以用到useGeneratedKeys以及keyProperty这两个属性。
例如这样:useGeneratedKeys="true" keyProperty="id" 新增的xml如图: 这里要注意几个问题: 1.keyProperty中对应的值是实体类的属性,而不是数据库的字段。 2.添加该属性之后并非改变insert方法的返回值,也就是说,该方法还是返回新增的结果。而如果需要获取新增行的主键ID,直接使用传入的实体对象的主键对应属性的值。如下图: 这样就能拿到新增行的主键ID:
加油,奥力给!!!😂😂😂 在3.3.0的mybatis中keyProperty写错也没事儿,但是mybatis升级到3.4.2以后会报错没有payId对应的get方法,提示没有对应的属性