selectKey的作用

属性 作用
keyProperty selectKey 语句结果应该被设置的目标属性
resultType mybatis中,返回值类型
order 可以被设置为 BEFORE 或 AFTER。如果设置为 BEFORE,那么它会首先选择主键,设置 keyProperty 然后执行插入语句。如果设置为 AFTER,那么先执行插入语句,然后是 selectKey 元素-这和如 Oracle 数据库相似,可以在插入语句中嵌入序列调用。
statementType 和前面的相同,MyBatis 支持 STATEMENT ,PREPARED 和CALLABLE 语句的映射类型,分别代表 PreparedStatement 和CallableStatement 类型

当添加一个id自增的数据时,可以使用selectKey获取添加的数据的id

<insert id="insert" parameterType="com.hp.entity.ItemGroup"><selectKey resultType="java.lang.Integer" order="AFTER" keyProperty="id">select LAST_INSERT_ID()</selectKey>insert into item_group (id, code, `name`,helpCode, sex, remark,attention)values (#{id,jdbcType=INTEGER}, #{code,jdbcType=VARCHAR}, #{name,jdbcType=VARCHAR},#{helpcode,jdbcType=VARCHAR}, #{sex,jdbcType=CHAR}, #{remark,jdbcType=VARCHAR},#{attention,jdbcType=VARCHAR})
</insert>

实例代码:

@Overridepublic void save(ItemGroup itemGroup, Integer[] spaitemIds) {//1.新增 ItemGroupitemGroupDao.insertSelective(itemGroup);//2.拿到新增 ItemGroup 的idInteger itemGroupId = itemGroup.getId();//3.关联 ItemAndGroupsetItemAndGroup(itemGroupId, spaitemIds);}

mybatis中selectKey的作用相关推荐

  1. 关于mybatis中selectKey的用法

    在使用MyBatis插入数据进入数据库的时候会用到sequence序列来生成自增的id 这时可以使用selectKey就可以得到sequence的值,同时也会将值返回.不过对于不同的数据库有不同的操作 ...

  2. mybatis中POJO的作用

    这个问题的来源是为了思考mybatis中实例和映射文件中sql语句的字段有什么关系. mybatis中的POJO "只是为了封装数据",当sql语句查询到数据之后,如果你要封装到对 ...

  3. MyBatis中#{}和${}的作用与区别

    在mybatis中#和$的主要区别是:#传入的参数在SQL中显示为字符串,#方式能够很大程度防止SQL注入:$传入的参数在SQL中直接显示为传入的值,$方式无法防止SQL注入. 1.传入的参数在SQL ...

  4. Mybatis 中 selectKey的用法

    大家好,我们今天来看下mysql中selectKey的用法. selectKey返回最近一次插入的id 返回自增ID <selectKey resultType="java.lang. ...

  5. Mybatis中selectKey 标签的作用,主键回填,找了好多文章没一个解释清楚。。

    (1)没有配置selectKey 标签时候插入数据: <insert id="addUser" parameterType="model.User"> ...

  6. mybatis中![CDATA[]]的作用

    此篇文章引自QH_JAVA的文章 在使用mybatis 时我们sql是写在xml 映射文件中,如果写的sql中有一些特殊的字符的话,在解析xml文件的时候会被转义,但我们不希望他被转义,所以我们要使用 ...

  7. Mybatis中resultMap的作用-解决实体类属性名和数据库字段不一致

    解决实体类属性名和数据库字段不一致 转载于:https://www.cnblogs.com/mww-NOTCOPY/p/10950712.html

  8. MyBatis中的selectKey

    2019独角兽企业重金招聘Python工程师标准>>> SelectKey在Mybatis中是为了解决Insert数据时不支持主键自动生成的问题,他可以很随意的设置生成主键的方式. ...

  9. Mybatis中的jdbcType的作用

    2019独角兽企业重金招聘Python工程师标准>>> Mybatis中的jdbcType的作用 使用MyBatis框架做更新操作时,在该字段需要更新的内容为空时,就会出现1111错 ...

最新文章

  1. 网络营销十技之六:联署计划营销
  2. 3D-HEVC视频编码技术
  3. 【鉴轻尘】你说你炒的了币,开发得了项目,然而这些你都知道吗?
  4. 048_Unicode对照表十四
  5. 【pytorch速成】Pytorch图像分类从模型自定义到测试
  6. XCTF WEB webshell
  7. ftp模式 503、227错误
  8. Kitten编程猫的工程文件 bcm,能发布成Android平台的apk文件吗
  9. linux 系统tty、pty和pts 的概念及区别(转)
  10. 计算机教师招聘板书设计,教师编制考试:信息技术丨《WORD表格制作》教案设计...
  11. azure备份存储层分类_备份到Azure –为什么要这样做?
  12. 学画画要花多少钱_美术生大学四年花费一般在多少 学美术有哪些出路
  13. 高中数学建模优秀论文_数学建模论文 高中数学建模经典例题
  14. 区块链火了 市场热度最么高
  15. 阿西莫夫定律:自动驾驶汽车算不算机器人?该不该伤人?
  16. EDKII实现bmp图片加载并显示的应用程序
  17. ABAP 7.55更新概览
  18. echarts自传作品入口
  19. 怎么在网站中插入天气预报,qq,发送邮件
  20. springboot+Mybatis+MySql 一个update标签中执行多条update sql语句

热门文章

  1. 数据清洗之 数据分组方法
  2. 人机混合智能中跨域的研究
  3. 上传excel文件到到服务器(导入信息)
  4. 华为OD机试真题Python实现【密室逃生游戏】真题+解题思路+代码(20222023)
  5. NVIDIA GeForce GT 730 配置 CUDA
  6. android 电量ui,Android UI显示电量跳变
  7. 一家SaaS公司是怎么搞垮的?
  8. LightGCN实践2——GPU内存爆炸终结篇
  9. Java春招面试题之Java语言基础类
  10. 甘肃省张掖市谷歌卫星地图下载