鉴别器 discriminator
文章目录
- 鉴别器``
- 鉴别器的结构
- 必要的属性
- 举例(摘自官方文档)
鉴别器<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>
来说,它的两个必要的属性就是javaType
和column
,它们相当于指定了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相关推荐
- JavaEE——Mybatis(6)--association的分步查询与延迟加载 以及Collection和鉴别器discriminator...
使用association进行分步查询:(一般,部门什么的会有自己的Mappper,所以直接利用就好,不用再重新自己写) 1.先按照学生id查询学生信息 2.根据查询学生信息中的grade_id值去班 ...
- mybatis 鉴别其_Mybatis学习笔记9 - 鉴别器discriminator
鉴别器:mybatis可以使用discriminator判断某列的值,然后根据某列的值改变封装行为. 示例如下: DeptmentMapper接口定义: package com.mybatis.dao ...
- 深度卷积生成对抗网络
深度卷积生成对抗网络 Deep Convolutional Generative Adversarial Networks GANs如何工作的基本思想.可以从一些简单的,易于抽样的分布,如均匀分布或正 ...
- 生成性对抗网络技术实现
生成性对抗网络技术实现 Generative Adversarial Networks 以某种形式,使用深度神经网络学习从数据点到标签的映射.这种学习被称为区别性学习,因为希望能够区分猫和狗的照片.量 ...
- 一文回顾深度学习十年发展
公众号关注 "视学苏案发" 设为 "星标",DLCV消息即可送达! 转自 | 大数据文摘出品 来源 | leogao.dev 随着21世纪第二个十年行将结束,我 ...
- Mybatis:resultMap的万字使用总结
结果映射(resultMap) resultMap 元素是 MyBatis 中最重要最强大的元素.它可以让你从 90% 的 JDBC ResultSets 数据提取代码中解放出来,并在一些情形下允许你 ...
- GAN最新进展:8大技巧提高稳定性
生成对抗网络GAN很强大,但也有很多造成GAN难以使用的缺陷.本文介绍了可以克服GAN训练缺点的一些解决方案,有助于提高GAN性能. 生成对抗网络 (GAN) 是一类功能强大的神经网络,具有广泛的应用 ...
- 【深度学习前沿】一文回顾深度学习十年发展
关注上方"深度学习技术前沿",选择"星标公众号", 资源干货,第一时间送达! 转自 | 大数据文摘出品 来源 | leogao.dev 随着21世纪第二个十年行 ...
- 深度学习:一文看懂CNN、RNN等七种范例
https://www.toutiao.com/a6670651004318384653/ 1. 前馈神经网络 (FFNNs) 前馈神经网络 (Feed Forward Neural Networks ...
最新文章
- Sonar代码质量管理
- python学习手册中文版免费下载-Python学习手册 第三版
- 蛋白结构建模与优化_最终幻想: 无中生有的蛋白质从头设计
- 如何在React Native中构建项目并管理静态资源
- Java基础---标志符、变量和数据类型
- Android之使用VideoView组件播放一个简单的视频
- HDU 1223 还是畅通工程(最小生成树prim模板)
- DevOps组织IO专业人员新角色分析与技能提升
- devc中文注释显示问号_Python零基础入门-(如何让人读懂你的代码)文档注释
- 敏感词过滤算法:前缀树算法
- Notepad++-第一篇命令行语句执行之编译、运行Java
- 模块二 会务现场服务策划方案 案例1样本
- 霍尔探头对高斯计测量的影响
- Computer:路由器连接交换机怎么建立局域网
- python创建空字典什么意思_Python3基础 dict 创建字典 空字典
- 弹性云主机利用云镜像克隆新开、迁移数据[云镜像]
- N32G457VEL7移植FreeRTOS代码
- 雨林木风:dll文件下载网站
- 尝试EFM32下的fatfs的使用
- axios 的 qs库