Mybatis insert、update 、delete返回值
在使用mybatis做持久层时,insert、update、delete,sql语句默认是不返回被操作记录主键的,而是返回被操作记录条数;
那么如果想要得到被操作记录的主键,可以通过下面的配置方式获取。
针对Sequence主键而言,在执行insert sql前必须指定一个主键值给要插入的记录,如Oracle、DB2,可以采用如下配置方式:
<insert id="save" parameterType="user">
<selectKey resultType="java.lang.Short" order="BEFORE" keyProperty="id">
SELECT SEQ_TEST.NEXTVAL FROM DUAL
</selectKey>
insert into user(name, age,password) values (#{name},#{age},#{password})
</insert>
针对自增主键的表,在插入时不需要主键,而是在插入过程自动获取一个自增的主键,比如MySQL,可以采用如下两种配置方式:
<insert id="save" parameterType="user" useGeneratedKeys="true" keyProperty="id">
insert into user(name, age,password) values (#{name},#{age},#{password})
</insert>
或
<insert id="save" parameterType="user">
<selectKey resultType="java.lang.Short" order="AFTER" keyProperty="id">
SELECT LAST_INSERT_ID() AS id
</selectKey>
insert into user(name, age,password) values (#{name},#{age},#{password})
</insert>
在插入操作完成之后,参数user的id属性就已经被赋值了,再在逻辑层利用user.getId()获取就好。
Mybatis insert、update 、delete返回值相关推荐
- Mybatis Update操作 返回值修改为受影响条数
到底 update 返回值代表什么呢?我们来验证一下便知道了,假设有如下一张表以及两条数据: 我们来编写一个简单的单元测试用例来验证下,首先使用 mybatis 简单的写个 mapper 进行更新操作 ...
- 【转载】mybaits的update、Insert、delete返回的是不是受影响的行数?
转自:https://blog.csdn.net/benben683280/article/details/79645697 update操作 返回值 mybatis执行update()方法默认返回为 ...
- mybatis配置insert/update/delete同一个模板
insert,update,delete标签只是一个模板,在操作时是以sql语句为核心的, 即在做增/删/改时,insert/update/delete便签可以通用, 但做查询时只能用 select ...
- PHP5: mysqli 插入, 查询, 更新和删除 Insert Update Delete Using mysqli (CRUD)
原文: PHP5: mysqli 插入, 查询, 更新和删除 Insert Update Delete Using mysqli (CRUD) PHP 5 及以上版本建议使用以下方式连接 MySQL ...
- linux mysql 事务_linux下mysql Insert update delete 事务 用户管理
linux下mysql Insert update delete 事务 用户管理 1.INSERT插入语句格式: INSERT INTO tb_name (字段1, 字段2, ...) VALUES ...
- SQL Server 2008中SQL增强之三:Merge(在一条语句中使用Insert,Update,Delete)
SQL Server 2008中SQL增强之三:Merge(在一条语句中使用Insert,Update,Delete) SQL Server 2008提供了一个增强的SQL命令Merge,用法参看MS ...
- java通过jdbc访问mysql,update数据返回值的思考
java通过jdbc访问mysql,update数据返回值的思考 先不说那么多,把Java代码贴出来吧. public static void main(String[] args) throws I ...
- mysql删除语句事务_事务用来管理 insert,update,delete 语句
MySQL 事务 MySQL 事务主要用于处理操作量大,复杂度高的数据.比如说,在人员管理系统中,你删除一个人员,你既需要删除人员的基本资料,也要删除和该人员相关的信息,如信箱,文章等等,这样,这些数 ...
- 内容必须匹配 (cache-ref|cache|resultMap*|parameterMap*|sql*|insert*|update*|delete*|selec
元素类型为 "mapper" 的内容必须匹配 "(cache-ref|cache|resultMap*|parameterMap*|sql*|insert*|update ...
- Mybatis insert数据时返回主键
Mybatis insert 时候默认返回行数,想要获取主键,可以在写xml时候添加属性配置,以MySQL为例 keyProperty="id" useGeneratedKeys= ...
最新文章
- 微信小程序中的tabBar设置
- 【异常】 Ensure that config phoenix.schema.isNamespaceMappingEnabled is consistent on client and server.
- 使用文本文件(.txt)进行数据存取的技巧总结
- 【C#程序设计】教学讲义——第三章:C#语言基础
- 简明Linux命令行笔记:finger
- 虚拟服务器(dmz),dmz虚拟主机(dmz主机和虚拟服务器区别)
- web前端篇:html基础知识
- zend studio mysql 配置_php 在Zend Framework中配置数据库参数
- MySQL学习笔记(五)并发时经典常见的死锁原因及解决方法
- 为何python不好找工作-为什么说Python不好找工作?原因在这里!
- 我的压缩软件选择:7zip软件+Zip格式
- winscp使用教程 linux,WinSCP使用方法教程
- 按键精灵手机版 代码收藏
- 因果关系发现:推开认知世界的大门
- Python实用脚本/算法集合, 附源代码下载
- Ubuntu使用git更新本地代码到github
- 《数字图像处理》题库5:计算题 ②
- OpenCV—python 发票印章去除或分割(图像内容识别预处理)
- 访问非法内存 越界等
- Docker的原理,详细