文章目录

  • 鉴别器``
    • 鉴别器的结构
    • 必要的属性
    • 举例(摘自官方文档)

鉴别器<discriminator/>

鉴别器,可以简单的理解为在<resultMap/>中的swith:case语句。

鉴别器的结构

<discriminator javaType="int" column="vehicle_type"><case value="1" resultMap="carResult"/><case value="2" resultMap="truckResult"/><case value="3" resultMap="vanResult"/><case value="4" resultMap="suvResult"/></discriminator>

上面的例子是说,vehicle_type这一列是int类型,根据vehicle_type值的不同,有以下四种行为。

当vehicle_type的值为1时,使用craResult进行封装;
当vehicle_type的值为2时,使用truckResult进行封装…

必要的属性

对于<discriminator>来说,它的两个必要的属性就是javaTypecolumn,它们相当于指定了switch(x)中x的类型,以及它在结果集的哪列。

对于<case>来说,它也有两个必要的属性,value,相当于switch-case中的case :。第二个属性是resultMap或者resultType

举例(摘自官方文档)

<resultMap id="vehicleResult" type="Vehicle"><id property="id" column="id" /><result property="vin" column="vin"/><result property="year" column="year"/><result property="make" column="make"/><result property="model" column="model"/><result property="color" column="color"/><discriminator javaType="int" column="vehicle_type"><case value="1" resultMap="carResult"/><case value="2" resultMap="truckResult"/><case value="3" resultMap="vanResult"/><case value="4" resultMap="suvResult"/></discriminator>
</resultMap>

<resultMap id="vehicleResult" type="Vehicle"><id property="id" column="id" /><result property="vin" column="vin"/><result property="year" column="year"/><result property="make" column="make"/><result property="model" column="model"/><result property="color" column="color"/><discriminator javaType="int" column="vehicle_type"><case value="1" resultType="carResult"><result property="doorCount" column="door_count" /></case><case value="2" resultType="truckResult"><result property="boxSize" column="box_size" /><result property="extendedCab" column="extended_cab" /></case><case value="3" resultType="vanResult"><result property="powerSlidingDoor" column="power_sliding_door" /></case><case value="4" resultType="suvResult"><result property="allWheelDrive" column="all_wheel_drive" /></case></discriminator>
</resultMap>

鉴别器 discriminator相关推荐

  1. JavaEE——Mybatis(6)--association的分步查询与延迟加载 以及Collection和鉴别器discriminator...

    使用association进行分步查询:(一般,部门什么的会有自己的Mappper,所以直接利用就好,不用再重新自己写) 1.先按照学生id查询学生信息 2.根据查询学生信息中的grade_id值去班 ...

  2. mybatis 鉴别其_Mybatis学习笔记9 - 鉴别器discriminator

    鉴别器:mybatis可以使用discriminator判断某列的值,然后根据某列的值改变封装行为. 示例如下: DeptmentMapper接口定义: package com.mybatis.dao ...

  3. 深度卷积生成对抗网络

    深度卷积生成对抗网络 Deep Convolutional Generative Adversarial Networks GANs如何工作的基本思想.可以从一些简单的,易于抽样的分布,如均匀分布或正 ...

  4. 生成性对抗网络技术实现

    生成性对抗网络技术实现 Generative Adversarial Networks 以某种形式,使用深度神经网络学习从数据点到标签的映射.这种学习被称为区别性学习,因为希望能够区分猫和狗的照片.量 ...

  5. 一文回顾深度学习十年发展

    公众号关注 "视学苏案发" 设为 "星标",DLCV消息即可送达! 转自 | 大数据文摘出品 来源 | leogao.dev 随着21世纪第二个十年行将结束,我 ...

  6. Mybatis:resultMap的万字使用总结

    结果映射(resultMap) resultMap 元素是 MyBatis 中最重要最强大的元素.它可以让你从 90% 的 JDBC ResultSets 数据提取代码中解放出来,并在一些情形下允许你 ...

  7. GAN最新进展:8大技巧提高稳定性

    生成对抗网络GAN很强大,但也有很多造成GAN难以使用的缺陷.本文介绍了可以克服GAN训练缺点的一些解决方案,有助于提高GAN性能. 生成对抗网络 (GAN) 是一类功能强大的神经网络,具有广泛的应用 ...

  8. 【深度学习前沿】一文回顾深度学习十年发展

    关注上方"深度学习技术前沿",选择"星标公众号", 资源干货,第一时间送达! 转自 | 大数据文摘出品 来源 | leogao.dev 随着21世纪第二个十年行 ...

  9. 深度学习:一文看懂CNN、RNN等七种范例

    https://www.toutiao.com/a6670651004318384653/ 1. 前馈神经网络 (FFNNs) 前馈神经网络 (Feed Forward Neural Networks ...

最新文章

  1. Sonar代码质量管理
  2. python学习手册中文版免费下载-Python学习手册 第三版
  3. 蛋白结构建模与优化_最终幻想: 无中生有的蛋白质从头设计
  4. 如何在React Native中构建项目并管理静态资源
  5. Java基础---标志符、变量和数据类型
  6. Android之使用VideoView组件播放一个简单的视频
  7. HDU 1223 还是畅通工程(最小生成树prim模板)
  8. DevOps组织IO专业人员新角色分析与技能提升
  9. devc中文注释显示问号_Python零基础入门-(如何让人读懂你的代码)文档注释
  10. 敏感词过滤算法:前缀树算法
  11. Notepad++-第一篇命令行语句执行之编译、运行Java
  12. 模块二 会务现场服务策划方案 案例1样本
  13. 霍尔探头对高斯计测量的影响
  14. Computer:路由器连接交换机怎么建立局域网
  15. python创建空字典什么意思_Python3基础 dict 创建字典 空字典
  16. 弹性云主机利用云镜像克隆新开、迁移数据[云镜像]
  17. N32G457VEL7移植FreeRTOS代码
  18. 雨林木风:dll文件下载网站
  19. 尝试EFM32下的fatfs的使用
  20. axios 的 qs库

热门文章

  1. 一些杂货资源分享(更新)
  2. 测试服务 - TaaS
  3. 计算机不装显卡会怎么样,电脑一个月不用会咋样?显卡长蘑菇
  4. 双十一数码好物分享,值得入手的实用数码好物分享
  5. SQLServer数据库mdf文件中了勒索病毒firex3m,扩展名变为mdf.firex3m
  6. 使用var、let、const声明变量
  7. 常见防火墙设置图文说明
  8. (15)第一人称视角视频
  9. Cache清除缓存数据
  10. css波浪音阶,过渡动画案例