在项目中,我们经常遇到这样的情况,表主键值设置为自增长,也就是主键值不在应用层产生,而是在新增记录时,由数据库产生。当我们新增加一条记录时,为了唯一定位到该记录,我们需要获得该记录的主键值,而这需要在数据库保存数据后才能从数据库中返回主键值。当我们使用Hibernate作为持久化框架时,新对象 ...
问题代码 . mybatis 新增记录返回主键 此代码测试不能返回主键信息 解决:DAO层不能使用 Param注解 代码如下: ...
2019-08-16 15:22 0 775 推荐指数:
在项目中,我们经常遇到这样的情况,表主键值设置为自增长,也就是主键值不在应用层产生,而是在新增记录时,由数据库产生。当我们新增加一条记录时,为了唯一定位到该记录,我们需要获得该记录的主键值,而这需要在数据库保存数据后才能从数据库中返回主键值。当我们使用Hibernate作为持久化框架时,新对象 ...
1、项目环境——SpringBoot下的SSM+Maven 2、问题出现位置——Dao层和Mapper文件 错误代码如下图: dao层: mapper文件: 错误代码分析: 使用useGeneratedKeys生成主键时 ...
今天在敲代码的时候遇到一个问题,就是往数据库里插入一条记录后需要返回这个新增记录的ID(自增主键), 公司框架用的是mybatis的通用Mapper接口,里面的插入方法貌似是不能把新纪录的ID回填到对象中的,于是大家都懂的 去网络的海洋里寻找答案,答案还是很好找的 ...
业务需求,用户表为主键自增,添加完用户之后,通过用户ID和角色表进行关联。 问题:由于主键自增,所以在用户添加之前是不知道ID的,当然可以通过查询得到当前的ID,不过需要自己多一步操作。 解决方案:使用useGeneratedKeys属性,以及keyProperty ...
SpringBoot系列教程JPA之新增记录使用姿势 上一篇文章介绍了如何快速的搭建一个JPA的项目环境,并给出了一个简单的演示demo,接下来我们开始业务教程,也就是我们常说的CURD,接下来进入第一篇,如何添加数据 通过本篇文章,你可以get到以下技能点 POJO对象 ...
摘要 我们经常使用useGenerateKeys来返回自增主键,避免多一次查询。也会经常使用on duplicate key update,来进行insertOrUpdate,来避免先query 在insert/update。用起来很爽,但是经常踩坑,还不知为何。本篇就是深入分析获取自增主键 ...
...
网上搜了好多文章照着弄都返回不了主键给map, 实践证明要在传入的map参数里写回插入的主键,要这样写 <selectKey resultType="java.lang.Integer" order="BEFORE" keyProperty="col.id"> ...