我们都知道当MyBatis结合MySQL操作的时候,insert data的时候,是可以配置mapper直接返自增主键的
例如
Dao层
Info insertInfo(@Param("info") Info info);
mapper
<insert id="insertInfo" parameterType="org.andot.Info" useGeneratedKeys="true" keyProperty="id" keyColumn="id">
</insert>
这样我们在service调用dao的时候,调用成功之后,在Info.getId()就可以获取自增主键当前自增值了
但是我现在遇到问题是我是这个做的,怎么也获取不到, 我还查询资料,看是不是写错了,然而并没有
最终,发现一个问题,原来MyBatis 在dao接口函数上加入@Param参数注解的时候,实体类定义了一个别名,这样相当于原来直接用id是找不到了,需要加入别名 在keyProperty="id" 改为 keyProperty="info.id"
这样就可以获取到了