今天使用mybatis时,需要返回主键id时,实体类主键id一直为null,花费大量时间排查,做一下记录,也希望能帮到其他的人。
一、mybtis接受主键方法
1.dao层传递的是封装好属性的实体类entity。
int insertUserAdvice(UserAdvice userAdvice);
2.mapper.xml文件中设置属性。
useGeneratedKeys="true" keyProperty="adviceId" 主键id parameterType="com.cjwl.entity.UserAdvice" 实体类
<insert id="insertUserAdvice" useGeneratedKeys="true" keyProperty="adviceId" parameterType="com.cjwl.entity.UserAdvice">
INSERT INTO userAdvice (createDate,userId,phone,advice)
VALUES(
#{createDate},#{userId},#{phone},#{advice}
)
</insert>
二。接受不到主键id的原因
1.实体类dao层 不要添加@Param()属性
2.xml不要使用#{userAdvice.userId}