mybatis3 :insert返回插入的主键(selectKey)

Mysql:

主键自增长。

*_mapper.xml:

<insert id="insert" parameterType="entity" useGeneratedKeys="true">
insert into <include refid="t_user"/>
(name, code, version)
values (#{name}, #{code}, #{version})
<selectKey resultType="long" keyProperty="id">
SELECT IF(row_count() > 0, last_insert_id(), 0) AS id FROM dual
</selectKey>
</insert>

就实现了插入之后获得主键的功能。

时间: 2024-10-11 04:12:55

mybatis3 :insert返回插入的主键(selectKey)的相关文章

Mybatis返回插入的主键

在使用MyBatis做持久层时,insert语句默认是不返回记录的主键值,而是返回插入的记录条数:如果业务层需要得到记录的主键时,可以通过配置的方式来完成这个功能 情景一:针对自增主键的表,在插入时不需要主键,而是在插入过程自动获取一个自增的主键,比如MySQL,可以采用如下两种配置方式 <insert id="insert" useGeneratedKeys="true" keyProperty="id" parameterType=&q

MyBatis+MySQL 返回插入的主键ID

需求:使用MyBatis往MySQL数据库中插入一条记录后,需要返回该条记录的自增主键值. 方法:在mapper中指定keyProperty属性,示例如下: <insert id="insertAndGetId" useGeneratedKeys="true" keyProperty="userId" parameterType="com.chenzhou.mybatis.User"> insert into us

【转载】MyBatis+MySQL 返回插入的主键ID

转载出处:http://chenzhou123520.iteye.com/blog/1849881 需求:使用MyBatis往MySQL数据库中插入一条记录后,需要返回该条记录的自增主键值. 方法:在mapper中指定keyProperty属性,示例如下: xml代码 <insert id="insertAndGetId" useGeneratedKeys="true" keyProperty="userId" parameterType=

mybatis+mysql返回插入的主键,参数只是提供部分参数

<insert id="insertByChannelIdOpenid" useGeneratedKeys="true" keyProperty="id" parameterType="com.model.StatisticSaler" > insert into statistic_saler(city_id,shop_id,saler_id,type,openid,time) select city_id,sh

mybatis oracle insert 返回新增的主键值

<insert id="insertVmsTemplatePlayItem" parameterType="VmsTemplatePlayItem"> <selectKey resultType="java.lang.Integer" order="BEFORE" keyProperty="playitemId"> SELECT PLAYITEM_SEQ.NEXTVAL FROM D

插入数据返回插入的主键Id

ADO.Net中Sql语句: insert into RoomType(TypeName,Price,AddBed,BedPrice,Remark)output inserted.ID values('kkk',321,1,34,'oooo') EF中: 添加数据保存后直接对象名.ID. 例子:UserInfo userInfo=new UserInfo(); userInfo.UserName="张三"; userInfo.UserPass="123"; EFFr

Mybatis批量插入返回自增主键(转)

我们都知道Mybatis在插入单条数据的时候有两种方式返回自增主键: 1.对于支持生成自增主键的数据库:useGenerateKeys和keyProperty. 2.不支持生成自增主键的数据库:<selectKey>. 但是怎对批量插入数据返回自增主键的解决方式网上看到的还是比较少,至少百度的结果比较少. Mybatis官网资料提供如下: First, if your database supports auto-generated key fields (e.g. MySQL and SQL

hao947 : Mybatis resultMap配置插入和主键自增返回 : 好947

映射配置文件  好947  <!-- type:映射实体类的数据类型 id:resultMap的唯一标识 -->  <resultMap type="person" id="BaseResultMap">   <!-- column:库表的字段名 property:实体类里的属性名 -->   <id column="person_id" property="personId" /&g

Mybatis 插入insert操作时获取主键

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