使用Mybatis-Plus如果需要insert后返回主键ID,只需在实体类ID属性上加以下注解
@TableId(value = "id", type = IdType.AUTO)
private Integer id;
我遇到的问题:
注解加上后ID并没有正常返回。
使用Mybatis-Plus需要注意:
当调用insert方法时,首先会去找mapper中是否已经存在insert方法,如果存在则调用,不存在则会调用BaseMapper中的insert方法。
我遇到的便是这种情况,由于mapper中我已经自定义了一个insert方法,并且xml中并没有定义
useGeneratedKeys="true" keyProperty="id"
所以实际调用的是自定义的insert方法。
解决方案:
①在自定义insert方法的xml中加上useGeneratedKeys="true" keyProperty="id"
②删除自定义的insert方法,并且在实体类的id主键上加上注解:
@TableId(value = "id", type = IdType.AUTO)