在开发过程中,我们常常用到在插入数据时,需要得到刚插入的数据的主键,MySQL中有以下做法:
1、推荐使用
<insert id="addVehicleParam" parameterType="com.corp.dto.VehicleParamAddDto" keyProperty="entity.paramId" useGeneratedKeys="true">
</insert>
keyProperty这个参数需要对应的是入参实体类的字段,他会将这个主键直接映射到实体中,因此在获取的时候需要使用实体的get方法来获取:
int pk = paramAddDto.getParamId();
2、
<selectKey keyProperty="id" resultType="java.lang.Integer">
SELECT LAST_INSERT_ID() AS id
</selectKey>