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获取自增主键相关推荐

  1. MySQL获取自增主键Id

    mysql插入数据后返回自增ID的方法   mysql和oracle插入的时候有一个很大的区别是,oracle通过获取序列的方式得到主键,mysql本身有一个列可以做自增长字段,mysql在插入一条数 ...

  2. mysql 获取自增主键

    MyBatis 3.2.6插入时候获取自增主键方法有二以MySQL5.5为例:方法1:<insert id="insert" parameterType="Pers ...

  3. MyBatis insert 获取自增主键

    1.建表语句 create table user( id int PRIMARY KEY auto_increment, name varchar(400) ); 2.Maven 依赖 <pro ...

  4. oracle 实现 自增主键功能

    转自:https://blog.csdn.net/zxh2075/article/details/78488141 之前有一项工作是将mysql的数据库实现转移到oracle,遇到了自增主键实现的问题 ...

  5. bootstrap获取选中行的主键_深入分析Mybatis 使用useGeneratedKeys获取自增主键

    摘要 我们经常使用useGenerateKeys来返回自增主键,避免多一次查询.也会经常使用on duplicate key update,来进行insertOrUpdate, 来避免先query 在 ...

  6. insert操作获取自增主键的值

    映射文件之insert操作获取自增主键的值 mysql中支持自增主键, 原生JDBC中也支持在insert操作中对自增主键的值进行获取 在原生的jdbc中我们利用Statement的getGenera ...

  7. MyBatis映射文件1(增删改、insert获取自增主键值)

    增删改 Mybatis为我们提供了<insert>.<update>.<delete>标签来对应增删改操作 在接口中写增删改的抽象方法 void addEmp(Em ...

  8. SpringBoot整合redisTemplate获取自增主键

    SpringBoot整合redisTemplate获取自增主键 在Spring Boot应用程序中,我们可以使用Redis作为缓存或数据存储.当我们使用Redis存储数据时,我们可能需要使用自增主键. ...

  9. MySQL之深入解析自增主键为何不连续

    一.前言 众所周知,由于自增主键可以让主键索引尽量地保持递增顺序插入,避免了页分裂,大量的随机 IO,自增主键不连续.这应该是大家已经熟知的知识点,但是也应该还有不少的朋友不知道为何自增主键不是严格递 ...

最新文章

  1. elasticsearch常见属性单词解释
  2. 怎么在linux下查看gpu版本号,linux.查看gpu版本
  3. RabbitMQ异步发布确认
  4. Powerbi实战--常用新建表代码(单位切换,日期表)
  5. hyperv动态内存Linux,Linux 之动态分配内存方式
  6. 企业架构研究总结(24)——TOGAF架构开发方法(ADM)之机会及解决方案阶段
  7. 为什么很多人只提苹果手机比安卓手机流畅耐用,却不提苹果手机比安卓手机贵几倍?
  8. x86基础之数与数据类型
  9. java yuv 裁剪480480_对android录制的NV21视频数据进行旋转(90,180,270)与剪切
  10. 电力仿真, 电力可视化源码库,MATLAB仿真,Multisim仿真,PSASP仿真, 电力地理接线图,VC++ 控件源程序
  11. Android WebView 详细介绍
  12. 软件测试常见面试题合集(内附详细答案)
  13. 解决方案:Zotero+坚果云+Zotfile完成多平台多设备的文献同步
  14. wandb报错:Exception: The wandb backend process has shutdown
  15. 2019年全球卫星遥感行业现状、融资及卫星遥感行业发展趋势分析:即时化、网络化、个性化、多样化(转载)
  16. #Paper Reading# Stochastic Optimization of Sorting Networks via Continuous Relaxations
  17. HIP4082电机驱动电路详解
  18. Kafka源码环境搭建
  19. 【秋招面经】之神策数据
  20. 《基本穿搭:适用一生的穿衣法则》总结

热门文章

  1. Kafka发送超过broker限定大小的消息时Client和Broker端各自会有什么异常?
  2. RabbitMQ单机多实例配置
  3. Java集合框架:Set(HashSet,LinkedHashSet,TreeSet)
  4. C++中的继承(一)
  5. 百万局对战教AI做人,技术解读FPS游戏中AI如何拟人化
  6. Serverless——前端的3.0时代
  7. 大牛书单 | 数据库专题好书分享
  8. 腾讯AI Lab刘霁谈机器学习,异步计算和去中心化是两大杀器
  9. 我眼中的 Nginx(六):深入 Nginx/Openresty 服务里的 DNS 解析
  10. ftruncate函数的功能及使用