useGeneratedKeys="true" keyProperty="id" 无效,id无法回显原因
一、背景
某些情况下,需要回显id给前端,或者后端业务逻辑处理时需要根据插入数据的id进行业务处理,记回显失效原因
二、代码
// mapper
int save(@Param("vo") AgentPoint agentPoint);
<insert id="save" parameterType="cn.api.entity.AgentPoint" useGeneratedKeys="true" keyProperty="id">
INSERT INTO agentpoint
(
empCode,
name
)
values
(
#{vo.empCode},
#{vo.name}
)
</insert>
三、失效原因
mapper层加了@Param(“vo”)的情况,无法回显id
四、解决办法
删除 @Param(“vo”) 代码,去掉" vo. "
// mapper
int save(AgentPoint agentPoint);
<insert id="save" parameterType="cn.api.entity.AgentPoint" useGeneratedKeys="true" keyProperty="id">
INSERT INTO agentpoint
(
empCode,
name
)
values
(
#{empCode},
#{name}
)
</insert>
五、通用mapper处理办法
调用如下方法
int insertUseGeneratedKeys(T record);
回显后,可通过对象的.getId() 方法获取id
以上仅供参考