通常情况下,我们插入一条记录的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是默认值,可以省略不写。
还有一种办法是,生成一个主键主动传入。
感受学习的力量!