`
feiz3020
  • 浏览: 1410 次
  • 性别: Icon_minigender_1
  • 来自: 广州
最近访客 更多访客>>
文章分类
社区版块
存档分类
最新评论

使用mybatis插入数据取主键

阅读更多

       在使用mybatis操作MYSQL数据库时,想取插入数据后的主键,一直以为返回是主键,但取来取去得到的值是影响记录数。将我的代码贴一下,希望可以帮到其他人。

 

 

   <!-- 增加检测信息-->  
<insert id="addInspectionInfoSQL" parameterType="java.util.HashMap" keyProperty="IID" keyColumn="IID">
       <selectKey resultType="long" order="AFTER" keyProperty="IID">
        SELECT LAST_INSERT_ID() as IID
       </selectKey>
	  INSERT into We_InspectionInfo(LID,checkID,result,cost) 
		VALUES(#{LID},#{checkID},#{result},#{cost})
 </insert>

 

 

 

 

Map<String, Object> paramMap = new HashMap<String, Object>();
paramMap.put("LID",1);
paramMap.put("checkID",1);
paramMap.put("result","检测良好");
paramMap.put("cost",100);
Object key = this.sqlSessionTemplate.insert("addInspectionInfoSQL", paramMap);

    注意 返回来的 key 值不是插入后自键的主键 而是影响记录数。

 

数据插入后,mybatis将主键放后到了paramMap中

     取主键:Long  iid = paramMap.get("IID").toString(); 

 

 

 

 

分享到:
评论

相关推荐

    MyBatis插入数据返回主键的介绍

    MyBatis插入数据返回主键的介绍 MyBatis是一个流行的持久层框架,它提供了许多实用的功能,包括插入数据返回主键的功能。...使用MyBatis插入数据返回主键的功能可以帮助我们更方便地实现数据的持久化操作。

    最新Mybatis插入数据返回自增主键详细配置

    Mybatis插入数据返回自增主键 Mybatis插入数据以后只会返回影响的数据库行数,如果是插入一条数据成功则返回1,失败返回零,插入多条返回插入成功的数量。 通过注解或者xml配置无法直接返回自增的主键。Mybatis插入...

    Mybatis批量插入数据返回主键的实现

    在Mybatis中,批量插入数据可以通过使用foreach语句来实现,而返回主键可以通过使用useGeneratedKeys和keyProperty两个属性来实现。下面是一个示例代码: 首先,在持久层的Mapper文件中,我们需要定义一个批量插入...

    MybatisPlus中插入数据获取主键值示例代码

    在MybatisPlus中,插入数据并获取主键值是一个常见的需求,特别是在需要自增主键或者生成唯一ID的情况下。以下是对这个主题的详细阐述: 首先,我们需要了解MybatisPlus中的插入数据操作。在MybatisPlus中,可以...

    Java使用Mybatis将数据批量插入到Oracle

    Java实现使用Mybatis将数据批量插入到Oracle数据库,并且可以使用Oracle序列来生成主键

    详解Java MyBatis 插入数据库返回主键

    **关于MyBatis插入数据的常见问题** 在实现插入数据并返回主键时,可能会遇到这样一个陷阱:在自定义插入方法时,如果错误地返回了SqlSession的自增ID,而不是正确地通过实体类传递,可能会导致看似插入成功但实际...

    spring boot整合mybatis利用Mysql实现主键UUID的方法

    由于使用了UUID作为主键,插入数据时MyBatis会自动为新记录生成一个UUID。例如: ```java import org.apache.ibatis.annotations.Insert; import org.apache.ibatis.annotations.Select; public interface ...

    Mybatis返回插入主键id的方法

    总的来说,Mybatis通过`useGeneratedKeys`和`keyProperty`属性使得我们能够在插入数据后方便地获取自动生成的主键ID,无论是直接操作Java对象还是使用参数`Map`,都能确保主键值的正确返回。这种方式极大地简化了...

    mybatis自增主键文档

    这样的配置意味着在插入数据时,MyBatis会自动调用`SEQ_TEST_USER_ID.nextval`来获取新的主键值。然而,这种方式不会将生成的主键值设置回插入的对象,例如`User`对象的`id`字段。 2. **MySQL 自增主键配置** ...

    Python3 操作 MySQL 插入一条数据并返回主键 id的实例

    在Java的MyBatis框架中,可以使用标签在insert方法前通过执行SELECT LAST_INSERT_ID()来获取最新插入行的id,这与Python中使用cursor.lastrowid和conn.insert_id()的方法类似,都是为了在多表操作中能够获得并使用新...

    Mybatis 插入一条或批量插入 返回带有自增长主键记录的实例

    在 Mybatis 中,要实现插入一条或批量插入,需要使用 `&lt;insert&gt;` element,并在其中使用 `useGeneratedKeys` 和 `keyProperty` 属性来获取自增长主键。 MySQL 在 MySQL 中,需要使用 `useGeneratedKeys="true"` 和...

    mybatis-plus id主键生成的坑

    然而,当主键类型被误设为 Integer 而不是 Long 或其他能容纳更大数值的数据类型时,可能会出现异常。例如,错误信息 "Could not set property 'id' of 'class ...

    SpringBoot使用mybatis批量新增500万数据到mysql数据库Demo

    在Mybatis的映射文件中,可以通过`&lt;insert&gt;`标签的`useGeneratedKeys`和`keyProperty`属性来处理主键自增,同时利用`&lt;foreach&gt;`标签进行数据遍历插入。 2. **事务管理**:SpringBoot集成Mybatis时,事务管理通常由...

    MyBatis插入时获取自增主键方法

    在MyBatis中,当你需要在插入数据时获取自增主键的值,有几种方法可以实现。在MyBatis 3.2.6版本中,主要提供了两种方式,这两种方式都适用于MySQL 5.5数据库,因为MySQL支持返回自增主键的特性。下面是这两种方法的...

    Mybatis实现插入数据后返回主键过程解析

    Mybatis实现插入数据后返回主键过程解析 Mybatis是一个基于Java的持久层框架,它提供了一个灵活的方式来访问和操作数据库。在实际开发中,经常需要在插入数据后返回主键值,以便于后续的业务逻辑处理。本文将详细...

    MyBatis在insert插入操作时返回主键ID的配置(推荐)

    其中,在 insert 插入操作时返回主键 ID 是一个非常重要的功能,特别是在需要将插入的数据 ID 用于后续操作或作为外键时。本文将详细介绍 MyBatis 在 insert 插入操作时返回主键 ID 的配置,包括 MySQL 和 Oracle 两...

    详解mybatis plus使用insert没有返回主键的处理

    在使用MyBatis Plus (MP) 进行数据操作时,有时可能会遇到插入数据后无法获取自增主键的情况。本文将深入分析这个问题,并提供解决方案。 首先,MyBatis Plus 是 MyBatis 的一个扩展库,它提供了很多方便的数据操作...

    spring-boot-mybatis-interceptor:mybatis自定义主键插件,通过该插件生成分布式唯一雪花ID作为数据库表的主键

    Mybatis自定义插件生成...通过拦截器拦截Mybatis的insert语句,通过自定义注解获取到主键,并为该主键赋值雪花ID,插入数据库中。 2、技术架构 项目总体技术选型 SpringBoot2.1.7 + Mybatis + Maven3.5.4 + Mysql + lom

    MyBatis批量插入数据到Oracle数据库中的两种方式(实例代码)

    在使用MyBatis批量插入数据到Oracle数据库时,需要将useGeneratedKeys设置为false,以避免主键冲突的错误。 本文分享了MyBatis批量插入数据到Oracle数据库中的两种方式,希望对大家有所帮助。如果您有任何疑问,请...

Global site tag (gtag.js) - Google Analytics