parameterType: 参数类型, 可以省略
mysql支持自增主键,自增主键的获取, mybatis也是利用statement.getGenreatedKeys(); 
useGeneratedKeys=”true”;使用自增主键获取主键值策略 
keyProperty;指定对应的主键属性,也就是mybatis获取到主键值以后,将这个值封装给javaBean的哪个属性

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><!-- 插入时的主键是从序列中拿到的 --><!-- BEFORE:-->insert into employees(EMPLOYEE_ID,LAST_NAME,EMAIL) values(#{id},#{lastName},#{email<!-- ,jdbcType=NULL -->}) <!-- AFTER:insert into employees(EMPLOYEE_ID,LAST_NAME,EMAIL) values(employees_seq.nextval,#{lastName},#{email}) --></insert>

mybatis使用statement.getGenreatedKeys(); useGeneratedKeys=”true”;使用自增主键获取主键值策略和Oracle不支持自增,Oracle使用序列相关推荐

  1. mybatis中useGeneratedKeys用法--插入数据库后获取主键值

    前言:今天无意在mapper文件中看到useGeneratedKeys这个词,好奇就查了下,发现能解决我之前插入有外键表数据时,这个外键获取繁琐的问题,于是学习敲DEMO记录    在项目中经常需要获 ...

  2. mybatis mysql usegeneratedkeys_mybatis中useGeneratedKeys用法--插入数据库后获取主键值

    前言:今天无意在mapper文件中看到useGeneratedKeys这个词,好奇就查了下,发现能解决我之前插入有外键表数据时,这个外键获取繁琐的问题,于是学习敲DEMO记录 在项目中经常需要获取到插 ...

  3. keyProperty=“id“ 和useGeneratedKeys=“true“作用

    keyProperty="id" 和useGeneratedKeys="true"作用 使用 mysql 自增长序列,新插入一条数据时,怎么得到主键? 加入以下 ...

  4. useGeneratedKeys=true 配合 keyProperty=userId 作用

    useGeneratedKeys="true" keyProperty="userId"  目的是将一个对象保存成功后,将插入的这条主键id返回,并保存到对象中 ...

  5. Mybatis源码阅读(三):结果集映射3.3 —— 主键生成策略

    *************************************优雅的分割线 ********************************** 分享一波:程序员赚外快-必看的巅峰干货 如 ...

  6. Mybatis插入数据后获取主键的值

    Mybatis插入数据后获取主键的值 1. 所使用的数据库是支持自增的,且主键是自增的 <!-- 支持自增的数据库且主键是自增的:自动将插入后自增id的值赋值给传入的Employee的id--& ...

  7. mybatis多表新增如何获取主键ID

    记录一下碰到的问题,就当做是笔记吧,防止忘记.在做ssm多表新增的时候,碰到了一个小问题,就是在新增成功一个表的时候我要获取它的ID,然后用它的ID新增下一个表. 但是,我要怎么做呢?新增成功,再查询 ...

  8. Mybatis 插入时获取主键的方式

    mybatis 作为一个主流的 ORM 框架,深受广大开发者的喜爱.有人的地方就有江湖,有代码的地方自然有坑,下面来说说获取 mybatis 的插入后返回的主键. 我们可以想一下自动增长的主键特性,在 ...

  9. mybatis insert获取主键

    今天要求获取刚刚插入的数据的自增主键: <insert id="insertSelective" parameterType="cn.zgjkw.com.domai ...

最新文章

  1. python 目录遍历 目录文件列表 介绍
  2. Ubuntu下 MySQL安装
  3. 第2讲 | 网络分层的真实含义是什么?
  4. 泛微协同“风暴”席卷高端市场
  5. CodeForces - 1368F Lamps on a Circle(交互+贪心)
  6. win服务器创建文件夹命令,Win10系统如利用命令提示符或WSL创建任意大小空白文件...
  7. 【资料】机器学习笔记的github镜像下载(github个人star数量排名175)
  8. 苏宁官宣史上力度最大818:比京东便宜10%
  9. android p wifi一直在扫描_Android Wifi 扫描及自动连接
  10. 疫情下的创业品牌如何逆风翻盘?
  11. EAN-13码知识及其校验码的计算方法
  12. 2022蓝牙耳机哪款更值得买?最受欢迎的十大蓝牙耳机排行榜
  13. linux搭建dlna媒体服务器,Serviio:一款功能强大的DLNA媒体服务器软件
  14. python语言的多行注释以什么开头和结尾_python多行注释
  15. win7无法连接打印机拒绝访问_打印机拒绝访问,小编教你打印机拒绝访问无法连接怎么解决...
  16. CSS位置偏移反爬虫绕过
  17. 为什么股票一买就跌,一卖就涨?终于找到答案了!
  18. 万豪集团发布《重塑餐饮业:行业洞察》报告,分享十大新兴趋势
  19. uni-app 全局变量的实现
  20. rar和zip格式的压缩与解压

热门文章

  1. Eclipse新建web项目正常启动tomcat不报错,但不能访问项目的解决方法
  2. shell 函数定义和调用
  3. 介绍TCP/udp比较好的博客
  4. OpenTLD 未完成 - 虎头
  5. matlab常用函数——矩阵函数
  6. Anaconda 安装操作及遇到的坑
  7. 雅可比旋转求解对称二维矩阵的特征值和特征向量
  8. 计算机如何打开无线网络适配器,win7系统下网络适配器打不开怎么解决
  9. 分享:一款快速传输大文件、支持英文版的工具
  10. activemq生产者和消费者的双向通信