MyBatis插入数据之后返回插入记录的id

MyBatis插入数据的时候,返回该记录的id

<insert id="insert"
keyProperty="id"
useGeneratedKeys="true"?          parameterType="com.demo.domain.CountRateConfig">?
insert into query_rate_config (code,partner_type,search_count, booking_count, ticket_count,rate_type)?
values (#{code,jdbcType=VARCHAR},#{partnerType,jdbcType=TINYINT}, #{searchCount,jdbcType=INTEGER},?    #{bookingCount,jdbcType=INTEGER}, #{ticketCount,jdbcType=INTEGER},#{rateType,jdbcType=TINYINT})?</insert>

首先我们应该保证数据库的主键Id是自增的,另外需要设置的两个属性为:

keyProperty="id"
useGeneratedKeys="true"?

这样的话,我们在插入数据之后,就可以得到插入数据之后的对象,然后通过该对象获取该对象的id。

案例如下:

1、MyBatis的配置文件如上遍所示的一段代码;

2、使用的Java代码如下:

@Override
    public int insert(CountRateConfig countRateConfig) {
        int insertNum = Integer.parseInt(countRateConfigMapper.insert(countRateConfig) + "");
        Long id = countRateConfig.getId();
        return insertNum;
    }

3、上述代码,如果插入数据成功的话,则可以找到数据库中对应的key;

结果是正确的,即可以读取正确的id。

版权声明:本文为博主原创文章,未经博主允许不得转载。

时间: 2024-12-28 21:32:18

MyBatis插入数据之后返回插入记录的id的相关文章

插入数据并返回插入数据ID

首先新建表 create table UserInfo ( Id bigint identity(1,1), constraint pkid primary key (Id) name nvarchar(50), pwd nvarchar(50) ) 其中Id自增长. 向数据库Insert数据并返回刚被Insert的数据行Id INSERT INTO UserInfo (name ,pwd ) VALUES ('111','435345') SELECT @@IDENTITY AS Id

Mybatis 插入数据后返回主键值

Oracle中获取刚刚插入记录的主键值: <insert id="insertSelective" parameterType="com.jxxx.p2pp.model.UUserInfo">     <selectKey resultType="java.math.BigDecimal" order="BEFORE" keyProperty="id">    SELECT U_US

MyBatis在Oracle中插入数据并返回主键的问题解决

引言:  在MyBatis中,希望在Oracle中插入数据之时,同时返回主键值,而非插入的条数... 环境:MyBatis 3.2 , Oracle, Spring 3.2   SQL Snippet in XML Configuration: <insert id="insertSelective" parameterType="com.jxxx.p2pp.model.UUserInfo"> <selectKey resultType="

mysql插入数据后返回自增ID的方法

mysql插入数据后返回自增ID的方法 mysql和oracle插入的时候有一个很大的区别是,oracle支持序列做id,mysql本身有一个列可以做自增长字段,mysql在插入一条数据后,如何能获得到这个自增id的值呢? 方法一:是使用last_insert_id mysql> SELECT LAST_INSERT_ID(); 产生的ID 每次连接后保存在服务器中.这意味着函数向一个给定客户端返回的值是该客户端产生对影响AUTO_INCREMENT列的最新语句第一个 AUTO_INCREMEN

第18课-数据库开发及ado.net 连接数据库.增.删.改向表中插入数据并且返回自动编号.SQLDataReade读取数据

第18课-数据库开发及ado.net 连接数据库.增.删.改向表中插入数据并且返回自动编号.SQLDataReade读取数据 ADO.NET 为什么要学习? 我们要搭建一个平台(Web/Winform)让用户方便的操作数据库中的数据. 什么是ADO.NET 是一组库类,System.Data. Ado.net组成 Connection:用来连接数据库 Command:用来执行SQL语句 DataReader:只读.只进的结果集,一条一条读取数据(SteamReader.XmlReader) Da

AGS中通过FeatureServer插入数据失败、插入数据在WMTS请求中无法显示以及version概念的讨论

1.背景 在多个项目中,当我方接口给其他部门人员使用时出现了插入数据失败或者插入的数据在WMTS请求中无法显示出来的问题.针对这些问题,我在这篇文章中,将详细描述造成以上问题的原因.在此WebGIS产品的前台和后台接口中,此插入数据核心部分均是FeatureServer请求.所以我们首先对FeatureSever服务做一个大致的了解. 2.FeatureServer服务的大致了解 2.1 FeatureServer服务提供的功能 FeatureServer服务可以提供如下几种服务: 我们可以得出

如何使用myBatis在数据库中插入数据并返回主键

在MyBatis中,希望在Oracle中插入数据的同时返回主键值,而非插入的条数. ① oracle使用 selectKey. U_USER_INFO_SEQ 是在数据库中定义好的这张表关联的序列sequence, Nextval是获取自增的id <insert id="insertSelective" parameterType="com.jxxx.p2pp.model.UUserInfo"> <selectKey resultType=&quo

使用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

mybatis插入数据后返回自增的主键id

在插入数据时候想自动返回mysql的自增的主键,需要在mapper.xml中配置下: <insert id="insert" parameterType="com.rograndec.wdzs.admin.data.wdzs.entity.ProductCategoryEntity" useGeneratedKeys="true" keyProperty="id" > insert into product_cat