通常情况下,我们插入一条记录的mapper如下:
@Insert("insert into experiment_info (gmt_create, gmt_modified, user_id, name, type) values (now(),now(),#{userId},#{name},#{type})")
int saveExperimentInfo(ExperimentInfoDO infoDO);
但是有时候,我们需要拿到这次插入之后生成的主键应该怎么办呢? 其实很简单,只需要一句话就可以完成, 将以上的代码改为如下:
@Insert("insert into experiment_info (gmt_create, gmt_modified, user_id, name, type) values (now(),now(),#{userId},#{name},#{type})")
@Options(useGeneratedKeys = true, keyProperty = "id")
int saveExperimentInfo(ExperimentInfoDO infoDO);
其中id是默认值,可以省略不写。
还有一种办法是,生成一个主键主动传入。