关于mybatis插入时获取id问题
对于postgreSql,想要获取插入时的自增id,一般会使用useGeneratedKeys=“true”,以及keyProperty进行设置并获取。
能否获取到id的值,与keyProperty指定的参数有关;keyProperty指定的参数应该为mapper接口中的相应方法的实体类参数
若mapper接口中定义的方法为
返回类型 upsertXxx(@Param("xxx") Xxx xxx); // Xxx为某实体类
则keyProperty应设置为keyProperty=“xxx.id”,但是这样设置后,并不能通过数字类型或字符串类型进行接收,而是将id赋值给xxx实体类中的id属性。
所以获取返回的id应该用xxx.getId()
进行获取。