(转)Mybatis insert后返回主键给实体对象(Mysql数据库)
<insert id="insert" parameterType="com.zqgame.game.website.models.Team">
<selectKey resultType="java.lang.Integer" keyProperty="teamId" order="AFTER">
SELECT LAST_INSERT_ID()
</selectKey>
INSERT INTO kz_team
<trim prefix="(" suffix=")" suffixOverrides=",">
<if test="teamId != null">
`team_id`,
</if>
<if test="teamName != null">
`team_name`,
</if>
<if test="regionId != null">
`region_id`,
</if>
<if test="provinceId != null">
`province_id`,
</if>
<if test="cityId != null">
`city_id`,
</if>
<if test="address != null">
`address`,
</if>
<if test="idImg != null">
`id_img`,
</if>
<if test="teamLogo != null">
`team_logo`,
</if>
<if test="introduce != null">
`introduce`,
</if>
<if test="accountId != null">
`account_id`,
</if>
</trim>
<trim prefix="values (" suffix=")" suffixOverrides=",">
<if test="teamId != null">
#{teamId,jdbcType=INTEGER},
</if>
<if test="teamName != null">
#{teamName,jdbcType=VARCHAR},
</if>
<if test="regionId != null">
#{regionId,jdbcType=INTEGER},
</if>
<if test="provinceId != null">
#{provinceId,jdbcType=INTEGER},
</if>
<if test="cityId != null">
#{cityId,jdbcType=INTEGER},
</if>
<if test="address != null">
#{address,jdbcType=VARCHAR},
</if>
<if test="idImg != null">
#{idImg,jdbcType=VARCHAR},
</if>
<if test="teamLogo != null">
#{teamLogo,jdbcType=VARCHAR},
</if>
<if test="introduce != null">
#{introduce,jdbcType=VARCHAR},
</if>
<if test="accountId != null">
#{accountId,jdbcType=INTEGER},
</if>
</trim>
</insert>
<selectKey resultType="Java.lang.Integer" keyProperty="teamId" order="AFTER"> //teamId实体类主键
SELECT LAST_INSERT_ID()
</selectKey>
或者
给<insert id="xx" useGeneratedKeys="true" keyProperty="teamId"> 加入2个属性就可以省略上面那句<selectKey>xxxxxx</selectKey>
在mybatis中标红的那句话 能将插入的主键返回给实体对象
if (StringUtils.isEmpty(team.getTeamLogo())) {
team.setTeamLogo(defaultTeamLogo);
}
team.setAccountId(accountId);
insert(team);
System.out.println(team.getTeamId());
对于业务中需要取得插入后的主键id值得童鞋来说很方便
不过那个函数貌似是MySQL提供的 需要其他数据库的另外寻找方法
(转)Mybatis insert后返回主键给实体对象(Mysql数据库)的更多相关文章
- mybatis insert后返回主键ID
需求: mybatis 在添加记录时需要获取到记录主键id id=0 无法获取主键id的值 在插入方法中添加如下属性和相应的值 <insert useGeneratedKeys="t ...
- MyBatis返回主键,MyBatis Insert操作返回主键
MyBatis返回主键,MyBatis Insert操作返回主键 >>>>>>>>>>>>>>>>> ...
- Mybatis之MySql批量insert后返回主键
需求:使用批量插入后,需要insert之后的每一条记录的ID 注意:Mybatis3.3.1的版本以后支持批量插入后返回主键ID 示例: domin.java: public class User { ...
- PostgreSQL使用MyBatis,insert时返回主键
MyBatis中普通的insert语句是这样的: <insert id="insert" parameterType="com.xxx.xxx.xxDo" ...
- MyBatis insert操作返回主键
在使用MyBatis做持久层时,insert语句默认是不返回记录的主键值,而是返回插入的记录条数: Dao.java @Override public int insert(T record) { f ...
- 160613、MyBatis insert操作返回主键
在使用MyBatis做持久层时,insert语句默认是不返回记录的主键值,而是返回插入的记录条数:如果业务层需要得到记录的主键时,可以通过配置的方式来完成这个功能,针对Sequence主键而言,在执行 ...
- mybatis insert oracle 返回主键
mybtis返回oracle主键 只需要加一点代码(红色处的代码)就可以了 <!-- 添加记录到临时表 --> <insert id="insertPlaneStateme ...
- mybatis insert 如何返回主键
在使用ibatis插入数据进数据库的时候,会用到一些sequence的数据,有些情况下,在插入完成之后还需要将sequence的值返回,然后才能进行下一步的操作. 使用ibatis的sel ...
- MyBatis自动获取主键,MyBatis使用Oracle返回主键,Oracle获取主键
MyBatis自动获取主键,MyBatis使用Oracle返回主键,Oracle获取主键 >>>>>>>>>>>>>> ...
随机推荐
- .net环境下的缓存技术-转载!
摘要: 介绍缓存的基本概念和常用的缓存技术,给出了各种技术的实现机制的简单介绍和适用范围说明,以及设计缓存方案应该考虑的问题(共17页) 1 概念 1.1 缓存能解决的问题 · 性 ...
- strcat的几种实现及性能比较
一 原型说明 strcat()为C语言标准库函数,用于字符串拼接.函数原型声明在string.h头文件中: char *strcat(char *dest, const char *src); 该函 ...
- Objective-c官方文档 怎么自定义类
通过类别来给已经存在的类添加方法来实现自定义类 如果你需要添加一个方法给一个已经存在的类,也许能增加新的功能使你更容易来在我们的应用里处理一些事情.最简单的方法是用类别. 这个语法有点想类的接口描述但 ...
- ANDROID – 單色漸層效果的改良 – GRADIENT SCRIMS(转)
本篇是根據 +Roman Nurik 在 2014/11/24 發佈的一篇 G+ 而來.看到他發文後,起了好奇心,就根據他提出的方法嘗試著實作,並將之排列呈現,直接從視覺上做個比較. 他在 G+ 的發 ...
- 一些有用的java 框架
jwt 用于生成web toke的类库 http://jwt.io/ jasypt java加密类库 http://www.jasypt.org/
- 一、K3 Cloud 开发插件《K3 Cloud开发手册》
1.K3 Cloud打开 提示错误:未能加载文件或程序集“XXXXXXXXX”或它的某一个依赖项 原因:未正常关机导致的Temporary ASP.NET Files文件夹下的文件损坏 解决:删除C: ...
- KMP算法的实现(Java语言描述)
标签:it KMP算法是模式匹配专用算法. 它是在已知模式串的next或nextval数组的基础上执行的.如果不知道它们二者之一,就没法使用KMP算法,因此我们需要计算它们. KMP算法由两部分组成: ...
- iPhone 上如何通过 Safari 使用 Pocket
在开始之前,请确认你的机器上已经安装了 Pocket 应用软件. 如何安装 1.打开Pocket应用,点击左上角的菜单(三条横岗),找到最下面的 Help ,点击 How To Save ,找到 ...
- 【前端安全】JavaScript防http劫持与XSS (转)
作为前端,一直以来都知道HTTP劫持与XSS跨站脚本(Cross-site scripting).CSRF跨站请求伪造(Cross-site request forgery).但是一直都没有深入研究过 ...
- 给Repeater控件里添加序号的5种方法
Repeater是我们经常用的一个显示数据集的数据控件,经常我们希望在数据前显示数据的序号,那么我们该怎么为Repeater控件添加序号呢?下面编辑为大家介绍几种常用的为Repeater控件添加序号的 ...