mybatis自动生成后无法获取主键id问题

使用mybatis的自动生成工具生成的主键id:

<selectKey resultType="java.lang.Integer" keyProperty="id" order="AFTER" >  SELECT LAST_INSERT_ID()</selectKey>

  使用sharding-jdbc时候 一直提示 分片报错, 可以使用这种方式解决:
<insert id="insertSelective" parameterType="com.zhuanche.driver.entity.FeedBack" keyProperty="id" useGeneratedKeys="true">...</insert>

原文地址:https://www.cnblogs.com/thinkingandworkinghard/p/11171035.html

时间: 2024-10-07 21:16:36

mybatis自动生成后无法获取主键id问题的相关文章

MyBatis+MySQL 返回插入记录的主键ID

今天用到了多个表之间的关系,另一个表中的一个字段要以第一个表的主键作为外键. 下面说两种方法,MyBatis+MySQL 返回插入记录的主键ID: 第一种: <insert id="insertAndGetId" useGeneratedKeys="true" keyProperty="userId" parameterType="com.chenzhou.mybatis.User"> insert into us

Mybatis 插入insert操作时获取主键

转载于 http://blog.csdn.net/lklinkang/article/details/6185927 插入操作 对于自增主键的表,插入可以不配置插入的主键列.否则是必须的. 获取主键      插入语句之前配置:主要是针对Sequence主键而言,插入前必须指定一个主键值给要插入的记录.Oracle.DB2亦如此,方法是在插入语句标签<insert....>之前配置上: <insert id="AltName.insert" parameterType

Mybatis执行insert语句,获取主键

一般的insert操作返回的是受影响行数,如果要获得新增加的那一行的主键,有两种方式可以实现. 方法1(推荐): <insert id="addAuthor" parameterType="domain.Author" useGeneratedKeys="true" keyProperty="id"> insert into author(username,password,email,bio) values(#{

mybatis+mysql insert添加数据后返回数据主键id

1.根据useGeneratedKeys获取返回值,部分数据库不支持 修改mybatis xml <insert id="insertUser" useGeneratedKeys="true" keyProperty="id" parameterType="com.entity.user"> insert into test (name) values (#{name}) </insert> useGe

spring jdbcTemplate insert插入Oracle数据库后返回当前主键id

最近做一个spring版本3.0.4的老项目功能,应用场景要用到jdbctemplate插入oracle表后返回主键ID拿来和其他表关联. 用oralce的可以一直用这种处理方式,高兼容低. public long insertOraGetId(final QuetInvtHeadVO headVO) { KeyHolder keyHolder = new GeneratedKeyHolder(); jdbcTemplate.update(new PreparedStatementCreator

Mybaties保存后自动获取主键ID

<!-- 插入记录 --> <insert id="saveTvTypeBatch" useGeneratedKeys="true" keyProperty="id" parameterType="java.util.List"> <selectKey resultType="long" keyProperty="id" order="AFTER&

SqlServer中插入数据后如何得到主键ID

使用@@IDENTITY 例如:insert into student(name,age) values('fanqi',23) select @@identity 使用 OUTPUT inserted 例如:INSERT INTO UserInfo(Username,LogName,[Password],resTime) OUTPUT inserted.UserID VALUES ('12345','56789','112233',GETDATE()) 原文地址:https://www.cnb

mybatis中useGeneratedKeys用法--插入数据库后获取主键值

前言:今天无意在mapper文件中看到useGeneratedKeys这个词,好奇就查了下,发现能解决我之前插入有外键表数据时,这个外键获取繁琐的问题,于是学习敲DEMO记录    在项目中经常需要获取到插入数据的主键来保障后续操作,数据库中主键一般我们使用自增或者uuid()的方式自动生成 问题:对于uuid使用Java代码生成的方式还比较容易控制,然而使用数据库生成的主键,这样我们就需要将插入的数据再查询出来得到主键,某些情况下还可能查询到多条情况,这样就比较尴尬了. 那有什么办法来插入数据

使用mybatis插入自增主键ID的数据后返回自增的ID

在开发中碰到用户注册的功能需要用到用户ID,但是用户ID是数据库自增生成的,这种情况上网查询后使用下面的方式配置mybatis的insert语句可以解决: 1 <insert id="insert" keyProperty="id" useGeneratedKeys="true"? parameterType="com.demo.domain.User">? 2 insert into User_t(name,ag