Mysql和Oracle获取自增主键
mysql
<!-- parameterType:参数类型,可以省略,
获取自增主键的值:
mysql支持自增主键,自增主键值的获取,mybatis也是利用statement.getGenreatedKeys();
useGeneratedKeys="true";使用自增主键获取主键值策略
keyProperty;指定对应的主键属性,也就是mybatis获取到主键值以后,将这个值封装给javaBean的哪个属性
-->
<insert id="addEmp" parameterType="com.atguigu.mybatis.bean.Employee"
useGeneratedKeys="true" keyProperty="id" databaseId="mysql">
insert into tbl_employee(last_name,email,gender)
values(#{lastName},#{email},#{gender})
</insert>
Oracle
<!--
获取非自增主键的值:
Oracle不支持自增;Oracle使用序列来模拟自增;
每次插入的数据的主键是从序列中拿到的值;如何获取到这个值;
-->
<insert id="addEmp" databaseId="oracle">
<!--
keyProperty:查出的主键值封装给javaBean的哪个属性
order="BEFORE":当前sql在插入sql之前运行
AFTER:当前sql在插入sql之后运行
resultType:查出的数据的返回值类型
BEFORE运行顺序:
先运行selectKey查询id的sql;查出id值封装给javaBean的id属性
在运行插入的sql;就可以取出id属性对应的值
AFTER运行顺序:
先运行插入的sql(从序列中取出新值作为id);
再运行selectKey查询id的sql;
-->
<selectKey keyProperty="id" order="BEFORE" resultType="Integer">
<!-- 编写查询主键的sql语句 -->
<!-- BEFORE-->
select EMPLOYEES_SEQ.nextval from dual
<!-- AFTER:
select EMPLOYEES_SEQ.currval from dual -->
</selectKey>
Mysql和Oracle获取自增主键相关推荐
- MySQL获取自增主键Id
mysql插入数据后返回自增ID的方法 mysql和oracle插入的时候有一个很大的区别是,oracle通过获取序列的方式得到主键,mysql本身有一个列可以做自增长字段,mysql在插入一条数 ...
- mysql 获取自增主键
MyBatis 3.2.6插入时候获取自增主键方法有二以MySQL5.5为例:方法1:<insert id="insert" parameterType="Pers ...
- MyBatis insert 获取自增主键
1.建表语句 create table user( id int PRIMARY KEY auto_increment, name varchar(400) ); 2.Maven 依赖 <pro ...
- oracle 实现 自增主键功能
转自:https://blog.csdn.net/zxh2075/article/details/78488141 之前有一项工作是将mysql的数据库实现转移到oracle,遇到了自增主键实现的问题 ...
- bootstrap获取选中行的主键_深入分析Mybatis 使用useGeneratedKeys获取自增主键
摘要 我们经常使用useGenerateKeys来返回自增主键,避免多一次查询.也会经常使用on duplicate key update,来进行insertOrUpdate, 来避免先query 在 ...
- insert操作获取自增主键的值
映射文件之insert操作获取自增主键的值 mysql中支持自增主键, 原生JDBC中也支持在insert操作中对自增主键的值进行获取 在原生的jdbc中我们利用Statement的getGenera ...
- MyBatis映射文件1(增删改、insert获取自增主键值)
增删改 Mybatis为我们提供了<insert>.<update>.<delete>标签来对应增删改操作 在接口中写增删改的抽象方法 void addEmp(Em ...
- SpringBoot整合redisTemplate获取自增主键
SpringBoot整合redisTemplate获取自增主键 在Spring Boot应用程序中,我们可以使用Redis作为缓存或数据存储.当我们使用Redis存储数据时,我们可能需要使用自增主键. ...
- MySQL之深入解析自增主键为何不连续
一.前言 众所周知,由于自增主键可以让主键索引尽量地保持递增顺序插入,避免了页分裂,大量的随机 IO,自增主键不连续.这应该是大家已经熟知的知识点,但是也应该还有不少的朋友不知道为何自增主键不是严格递 ...
最新文章
- elasticsearch常见属性单词解释
- 怎么在linux下查看gpu版本号,linux.查看gpu版本
- RabbitMQ异步发布确认
- Powerbi实战--常用新建表代码(单位切换,日期表)
- hyperv动态内存Linux,Linux 之动态分配内存方式
- 企业架构研究总结(24)——TOGAF架构开发方法(ADM)之机会及解决方案阶段
- 为什么很多人只提苹果手机比安卓手机流畅耐用,却不提苹果手机比安卓手机贵几倍?
- x86基础之数与数据类型
- java yuv 裁剪480480_对android录制的NV21视频数据进行旋转(90,180,270)与剪切
- 电力仿真, 电力可视化源码库,MATLAB仿真,Multisim仿真,PSASP仿真, 电力地理接线图,VC++ 控件源程序
- Android WebView 详细介绍
- 软件测试常见面试题合集(内附详细答案)
- 解决方案:Zotero+坚果云+Zotfile完成多平台多设备的文献同步
- wandb报错:Exception: The wandb backend process has shutdown
- 2019年全球卫星遥感行业现状、融资及卫星遥感行业发展趋势分析:即时化、网络化、个性化、多样化(转载)
- #Paper Reading# Stochastic Optimization of Sorting Networks via Continuous Relaxations
- HIP4082电机驱动电路详解
- Kafka源码环境搭建
- 【秋招面经】之神策数据
- 《基本穿搭:适用一生的穿衣法则》总结
热门文章
- Kafka发送超过broker限定大小的消息时Client和Broker端各自会有什么异常?
- RabbitMQ单机多实例配置
- Java集合框架:Set(HashSet,LinkedHashSet,TreeSet)
- C++中的继承(一)
- 百万局对战教AI做人,技术解读FPS游戏中AI如何拟人化
- Serverless——前端的3.0时代
- 大牛书单 | 数据库专题好书分享
- 腾讯AI Lab刘霁谈机器学习,异步计算和去中心化是两大杀器
- 我眼中的 Nginx(六):深入 Nginx/Openresty 服务里的 DNS 解析
- ftruncate函数的功能及使用