Mybaties保存后自动获取主键ID

<!-- 插入记录 -->
<insert id="saveTvTypeBatch" useGeneratedKeys="true" keyProperty="id"
parameterType="java.util.List">
<selectKey resultType="long" keyProperty="id" order="AFTER">
SELECT
LAST_INSERT_ID()
</selectKey>
INSERT INTO T_U_TV_TYPE (
TERMINAL_TYPE ,
TV_TYPE_CODE ,
TV_TYPE_NAME ,
TV_TYPE_ABRIDGE_NAME ,
ORDER_FIELD ,
FLG ,
UPDATE_TIME
) VALUES
<foreach collection="list" item="typeList" index="index" separator="," >
(
#{typeList.terminalType} ,
#{typeList.tvTypeCode} ,
#{typeList.tvTypeName} ,
#{typeList.tvTypeAbridgeName} ,
#{typeList.orderField} ,
#{typeList.flg} ,
#{typeList.updateTime}
)
</foreach>
</insert>
时间: 2024-10-07 21:16:29

Mybaties保存后自动获取主键ID的相关文章

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

使用mybatis的自动生成工具生成的主键id: <selectKey resultType="java.lang.Integer" keyProperty="id" order="AFTER" > SELECT LAST_INSERT_ID()</selectKey> 使用sharding-jdbc时候 一直提示 分片报错, 可以使用这种方式解决: <insert id="insertSelective&

在MySQL或者SQLServer中,添加对象后自动返回主键到对象模型中的配置方式

设置是否使用JDBC的getGenereatedKeys方法获取主键并赋值到keyProperty设置的领域模型属性中.MySQL和SQLServer执行auto-generated key field,因此当数据库设置好自增长主键后,可通过JDBC的getGeneratedKeys方法获取.但像Oralce等不支持auto-generated key field的数据库就不能用这种方法获取主键了 <insert id="add" parameterType="Stud

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

spring Jdbc自动获取主键。

学习了下springjdbc,感觉挺实用的,相对来说springjdbc 扩展性相当好了 import java.sql.Connection; import java.sql.PreparedStatement; import java.sql.SQLException; import java.util.List; import org.springframework.beans.factory.annotation.Autowired; import org.springframework

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

JFinal保存对象后可以取出主键

JFinal保存对象后可以取出主键,即使这个主键是数据库自增长的. 今天无意中发现,JFinal保存对象后可以把主键取出来,我的数据库表主键都是自增的.比如 Blog blog = getModel(Blog.class);//这里没有存放id  blog.save();  System.out.println(blog.getInt("id"));//这里居然可以取出来. 今天研究的半天,最后在大家的帮助下终于明白是怎么实现的了.Model类的源码如下: public boolean

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

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

Mybatis 在 insert 之后想获取自增的主键 id,但是总是返回1

记录一次傻逼的问题, 自己把自己蠢哭:Mybatis 在 insert 之后想获取自增的主键 id,但是总是返回1 错误说明: 返回的1是影响的行数,并不是自增的主键id: 想要获取自增主键id,需要通过xx.getId()方法获取,因为在mybatis中指定自增主键id封装到了对象的属性中,所以我们需要在对象中来获取 代码示例如下: <insert id="add" useGeneratedKeys="true" keyColumn="id&quo