一、想要获取插入数据后的自增主键,其中一种方法是使用useGeneratedKeys。
<insert id="insertVo" parameterType="com.cdi.test.Vo" useGeneratedKeys="true" keyColumn="id" keyProperty="id">
insert into vo_task(start_time,end_time)
values (#{voTask.startTime},#{voTask.endTime})
</insert>
但是发现不生效,插入后返回自增主键id为null。
二、原因
检查mapper接口文件,有@Param注解keyProperty不能直接写id
void insertVo(@Param("voTask") VoTask voTask);
三、解决办法
在xml中keyProperty=“id” 改为 keyProperty=“voTask.id” 即可解决问题。