作用:获取主键自增的Id值

<selectKey resultType="java.lang.Long" keyProperty="id" order="AFTER" >SELECT LAST_INSERT_ID()
</selectKey>

resultType:主键的数据类型

keyProperty:主键的名称(与数据库对应)

order:有两种,主键自增写AFTER,即在SELECT LASTINSERTID() 在insert执行之后执行,用于获取自增的主键值。BEFORE表示SELECT LASTINSERTID() 在insert执行之前执行,这样的话就拿不到主键了,这种适合那种主键不是自增的类型resultType 主键类型。

举个栗子(我举一花生!我举一蚕豆!去你的吧!)

mapper.xml

<insert id="insert" parameterType="Article" ><selectKey resultType="java.lang.Long" keyProperty="id" order="AFTER" >SELECT LAST_INSERT_ID()</selectKey>insert into article ( cover_image, category_id,status, title, content,view_count, created_at, updated_at)values (#{coverImage,jdbcType=VARCHAR}, #{categoryId,jdbcType=INTEGER},#{status,jdbcType=TINYINT}, #{title,jdbcType=VARCHAR}, #{content,jdbcType=VARCHAR},#{viewCount,jdbcType=BIGINT}, #{createdAt,jdbcType=TIMESTAMP}, #{updatedAt,jdbcType=TIMESTAMP})</insert>

test

@Testvoid contextLoads2() {Article article = new Article();article.setTitle("跟着小张学java");System.out.println("insert执行之前的Id值:"+article.getId());int insert = aritcleMapper.insert(article);System.out.println(insert);System.out.println("insert执行之后的Id值:"+article.getId());}

这是把标签注掉的结果,Id值是拿不到的。

这是加上标签的结果

懂了吗?简单来说就是加上标签可以取得自增主键的值,省去添加完数据还要重新查询一次Id值的麻烦。

<selectKey>标签详解相关推荐

  1. selectKey标签详解

    1.为什么要使用selectKey 数据库主键包括自增和非自增,有时候新增一条数据不仅仅知道成功就行了,后边的逻辑可能还需要这个新增的主键,这时候再查询数据库就有点耗时耗力,我们可以采用selectK ...

  2. selectKey标签详解(*)

    1.为什么要使用selectKey 数据库主键包括自增和非自增,有时候新增一条数据不仅仅知道成功就行,后边的逻辑可能还需要这个新增的主键,这时候再查询数据库就有点儿耗时耗力,我们可以采用selectK ...

  3. HTML marquee标签详解

    HTML marquee标签详解 在论坛默认的编辑状态下,我们可以通过UBB语法的move和fly语句让对象动起来,但功能很简单,只是平行地移动.而我们使用HTML的Marquee语句则可以产生更多的 ...

  4. 前端基础-HTML的的标签详解

    阅读目录 一.head内常用标签 二. HTML语义化 三. 字符实体 四. h系列标签 五. p标签 六. img标签 七. a标签 八. 列表标签 九. table标签 十. form标签 一. ...

  5. W3C中meta标签详解

    2019独角兽企业重金招聘Python工程师标准>>> meta是html语言head区的一个辅助性标签.几乎所有的网页里,我们可以看到类似下面这段的html代码: <meta ...

  6. HTML基本标签详解与运行截图

    Web前端基础修炼 HTML基本标签详解与运行截图 CSS基本操作详解及截图演示 JavaScript基础(ECMAScript) JavaScript中DOM操作 JavaScript中BOM操作 ...

  7. JSF标签详解(全)

    转自:https://wenku.baidu.com/view/82b84b255901020207409c87.html :https://blog.csdn.net/qq_36411874/art ...

  8. SEO技巧:Meta标签详解

    网页设计:Meta标签详解 您的个人网站即使做得再精彩,在"浩瀚如海"的网络空间中,也如一叶扁舟不易为人发现,如何推广 个人网站,人们首先想到的方法无外乎以下几种: ●在搜索引擎中 ...

  9. java foreach标签_Java中Velocity foreach循环标签详解

    Java中Velocity foreach循环标签详解 Java Velocity中foreach循环可以很容易的遍历数组或者集合. 定义 #foreach( $elem in $allElems) ...

  10. Div与Span标签详解

    Div与Span标签详解 一.DIV 1.简介 2.作用 3.案例 二.span 1.简介 2.语法 3.案例 一.DIV 1.简介 在html中布局使用最多标签为div, 我们通常将网页重构说成di ...

最新文章

  1. java content()_理解content(一)
  2. CG CTF WEB SQL注入2
  3. 腾讯旗下网站的很多URL都包含“cgi-bin”,是什么意思?他们后台用什么语言?...
  4. ubuntu安装VMware出错
  5. Android属性动画进阶用法
  6. asp.net 2.0 下的表单验证Cookieless属性
  7. x内存满白苹果解决_苹果最佳MacBook和Mac:顶级苹果台式机和笔记本电脑
  8. bootstratp图标的使用
  9. python中的随机函数的用法_python中的随机函数小结
  10. 全球各个国家手机号码前缀 中英文国家名称对应的手机号码的前缀
  11. c语言中数组int*,C语言数组
  12. [讨论] AUTOCAD二次开发简介
  13. mybatis开发神器mybatis plus
  14. 新增用户时输入账号已存在(全局异常处理)
  15. 工具推荐——Apt_t00ls
  16. SysML-Sec A model Driven Approach for Designing Safe and Secure Systems
  17. 【STM32单片机】贪吃蛇游戏设计
  18. html去除表格间距,HTML两个表格间距怎么调整
  19. c++解一元三次方程
  20. python : 超参数优化工具笔记 Tune with PyTorch Quick Start+基础概念

热门文章

  1. 【iOS开发-AFNetWorking下的POST和GET】
  2. ECharts3 实现 AJAX异步加载 数据库数据
  3. 微软自动调参工具—NNI—安装与使用教程(附错误解决)
  4. 共享主机网络给VM虚拟机的NAT模式
  5. odoo入门级教程(一)
  6. python读文件readlines_Python File readlines() 使用方法
  7. 微信小程序从聊天记录上传文件(上传后可预览)
  8. 正向代理与反向代理的理解以及区别
  9. Django入门-2:创建第一个Django项目
  10. Jetson TX2 上安装Pycharm