java mybatis vo自增返回主键

  1. <!-- useGeneratedKeys默认值为false,keyProperty的值对应的是User类中的主键名 -->
  2.  

    <insert id="getGeneratedKey2" parameterType="cn.kolbe.mybatis.domain.User" useGeneratedKeys="true" keyProperty="id">

  3.  

    insert into users(name, password) values(#{name}, #{password})

  4.  

    </insert>

  5.  

  6.  

    <insert id="getGeneratedKey3" parameterType="cn.kolbe.mybatis.domain.User">

  7.  

    <!-- 使用这种方式要注意,resultType是要设置的,否则将抛异常,该值对应的User类中的主键类型 -->

  8.  

    <!-- keyProperty对应的是User类中的主键名,假设取名为user_id,则这边也要改成user_id -->

  9.  

    <selectKey keyProperty="id" resultType="int">

  10.  

    select LAST_INSERT_ID()

  11.  

    </selectKey>

  12.  

    insert into users(name, password) values(#{name}, #{password})

  13.  

    </insert>

  14.  keyProperty="metricDataRecoveryVo.listId"就可以。我认为这和接口定义了注解有关,如果不用@Param来指定名称,可能就没有问题(待验证)。
  15. id在实体里  返回的永远是操作影响的条数

原文地址:https://www.cnblogs.com/-mzh/p/12066893.html

时间: 2024-08-04 10:41:45

java mybatis vo自增返回主键的相关文章

java mybatis中insert 操作 返回主键的小技巧。。。。

第一种方式: 在实体类的映射文件 "*Mapper.xml" 这样写: <insert id="insertvmatedic" keyColumn="mdid" useGeneratedKeys="true" keyProperty="mdid" parameterType="Vmaterialdictionary"> insert into vmaterialdiction

Mybatis 插入数据后返回主键值

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

Mybatis中insert中返回主键ID的方法

1.XyzMapper.xml <insertid="doSomething"parameterType="map"useGeneratedKeys="true"keyProperty="yourId"> ... </insert> 或 <insert id="doSomething" parameterType="com.xx.yy.zz.YourClass&quo

mybatis添加记录时返回主键id

参考:https://www.cnblogs.com/nuccch/p/7687281.html 场景 有些时候我们在添加记录成功后希望能直接获取到该记录的主键id值,而不需要再执行一次查询操作.在使用mybatis作为ORM组件时,可以很方便地达到这个目的.鉴于mybatis目前已经支持xml配置和注解2种方式,所以分别给予详细介绍. 数据表设计: drop table if exists `test`; create table `test` ( `id` bigint(20) NOT NU

Mybatis在insert时返回主键id

需要注意的地方:1.添加记录能够返回主键的关键点在于需要在标签中添加以下三个属性.useGeneratedKeys:必须设置为true,否则无法获取到主键id.keyProperty:设置为POJO对象的主键id属性名称.keyColumn:设置为数据库记录的主键id字段名称2.新添加主键id并不是在执行添加操作时直接返回的,而是在执行添加操作之后将新添加记录的主键id字段设置为POJO对象的主键id属性调用时: roomCheckInfoMapper.insertSelective(roomC

mybatis 实现 insert 语句返回 主键

mybatis 中 insertSelective(example) 语句默认返回并不是 插入记录的主键. 我们可以考虑插入记录主键不直接作为 函数的返回值, 而是体现在改变函数参数 "example", 使其主键等于插入记录的主键. 在insertSelective xml定义中,加入以下代码: <selectKey resultType="Integer" keyProperty="id" >   SELECT last_inse

MyBatis :Insert (返回主键、批量插入)

一.前言    数据库操作怎能少了INSERT操作呢?下面记录MyBatis关于INSERT操作的笔记,以便日后查阅. 二.insert元素 属性详解   其属性如下: parameterType ,入参的全限定类名或类型别名 keyColumn ,设置数据表自动生成的主键名.对特定数据库(如PostgreSQL),若自动生成的主键不是第一个字段则必须设置 keyProperty ,默认值unset,用于设置getGeneratedKeys方法或selectKey子元素返回值将赋值到领域模型的哪

mybatis插入数据并返回主键(oracle)

通常我们执行一个inser语句,即使有返回,也只是会返回影响了多少条数据 @insert("insert into t_user (id,name) values (suser.nextval,#{item.name,jdbcType=VARCHAR})") void insert(@Param("item") TUser t); 但在有些时候,我们还需要获得插入数据的主键,在oracle数据库中,主键并没有办法自动增长,无法使用insert对应的useGenera

mybatis 插入数据并返回主键值

<insert id="insert" parameterType="com.pojo.TSubject" useGeneratedKeys="true" keyProperty="subjectid" > insert into t_subject ( parentid, subjectname, subjecttype, subjectitem, subjectanser, displaytype) value