前言:最近的开发中,使用mybatis框架开发,使用insert插入数据后返回的对象居然没有返回自增长的主键id,这就比较难受了。以前使用hibernate开发,save之后返回的对象都是直接带的,直接getId就可以把主键id获取到,但是mybatis就不可以了。后来查看了一下资料,才知道mybatis返回主键id需要配置的,这里记录一下,给自己一个补充。
一、mysql数据库配置
1.主键为自增时(主键为数值类型且自增)
利用mysql的LAST_INSERT_ID()方法获取插入记录的主键,select LAST_INSERT_ID()可以在插入数据后,查询并返回刚插入数据的主键(但是单独执行这条语句只会返回0)。
<insert id="insert" parameterType="com.test.mybatis.MQrInfo" >
<selectKey keyProperty="id" order="AFTER" resultType="java.lang.Integer">
select LAST_INSERT_ID()
</selectKey>
insert into m_qr_info (id, tictet, p_qr_url,
create_time, update_time, status
)
values (#{
id,jdbcTy