利用Java的MyBatis框架获取MySQL中插入记录时的自增主键
更新时间:2016年06月01日 11:03:25 作者:hellostory
这篇文章主要介绍了利用Java的MyBatis框架获取MySQL中插入记录的自增长字段值,其中大家可以看到MyBatis支持普通SQL语句所带来的遍历,需要的朋友可以参考下
第一步:
在Mybatis Mapper文件中添加属性“useGeneratedKeys”和“keyProperty”,其中keyProperty是Java对象的属性名!
<insert id="insert" parameterType="Spares"
useGeneratedKeys="true" keyProperty="id">
insert into spares(spares_id,spares_name,
spares_type_id,spares_spec)
values(#{id},#{name},#{typeId},#{spec})
</insert>
第二步:
Mybatis执行完插入语句后,自动将自增长值赋值给对象Spares的属性id。因此,可通过Spares对应的getter方法获取!
/**
* 新增备件
* @param spares
* @return
*/
@RequestMapping(value = "/insert")
@ResponseBody
public JsonResponse insert(Spares spares) {
int count = sparesService.insert(spares);
System.out.println("共插入" + count + "条记录!"
+ "\n刚刚插入记录的主键自增长值为:" + spares.getId());
另一种方法:
<insert id="insert" parameterType="Person">
<selectKey keyProperty="id" resultType="long">
select LAST_INSERT_ID()
</selectKey>
insert into person(name,pswd) values(#{name},#{pswd})
</insert>
插入前实体id属性为0;
插入后实体id属性为保存后自增的id;
相关文章
spring学习之创建项目 Hello Spring实例代码
这篇文章主要介绍了spring学习之创建项目 Hello Spring实例代码,小编觉得还是挺不错的,具有一定借鉴价值,需要的朋友可以参考下2018-01-01
SpringBoot中@Transiactional注解没有效果的解决
这篇文章主要介绍了SpringBoot中@Transiactional注解没有效果的解决方案,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教2021-08-08
Java语言实现简单FTP软件 FTP软件本地窗口实现(5)
这篇文章主要为大家详细介绍了Java语言实现简单FTP软件,FTP软件本地窗口的实现方法,具有一定的参考价值,感兴趣的小伙伴们可以参考一下2017-03-03


最新评论