`
chinagdvea
  • 浏览: 132466 次
  • 性别: Icon_minigender_1
  • 来自: 韶关
社区版块
存档分类
最新评论

使用动态映射

 
阅读更多
1.
<select parameterClass="string" resultMap="get-user-result" >
  <! [CDATA[
  select
    *
  from t_user

  <dynamic prepend="WHERE">
    <isNotEmpty prepend="AND" property="name">
      (name is like #name#)
    </isNotEmpty>

    <isNotEmpty prepend="AND" property="address">
      (address is like #address#)
    </isNotEmpty>
  </dynamic>
<select>

只有在页面中传入的参数name或者address不为空时,才会触发对应的where子句

2.

利用嵌套,可以实现组合查询

<dynamic prepend="WHERE">
  <isNotEmpty prepend="AND" property="name">
    (name is like #name#
    <isNotEmpty prepend="AND" property="address">
      (address is like #address#))
    </isNotEmpty>
  </isNotEmpty>
</dynamic>

只有用户提供了name的值,address的判断条件才会生效
否则只输入address的值,没有name的值,address的判断条件还是无效的


判定节点属性列表

1.一元判定

一元判定是针对属性值本身的判定,如属性是否为NULL,是否为空值等。
上面示例中isNotEmpty就是典型的一元判定。

一元判定节点有:

节点名描述
<isPropertyAvailable>      参数类中是否提供了此属性
<isNotPropertyAvailable>   与<isPropertyAvailable>相反
<isNull>                   属性值是否为NULL
<isNotNull>                与<isNull>相反
<isEmpty>                  如果属性为Collection或者String,其size是否<1,
                           如果非以上两种类型,则通过
                           String.valueOf(属性值)
                           获得其String类型的值后,判断其size是否<1
<isNotEmpty>               与<isEmpty>相反。


2. 二元判定

二元判定有两个判定参数,一是属性名,而是判定值,如
<isGreaterThan prepend="AND" property="age"
compareValue="18">
  (age=#age#)
</isGreaterThan>

节点名属性值与compareValues的关系
<isEqual>          相等。
<isNotEqual>       不等。
<isGreaterThan>    大于
<isGreaterEqual>   大于等于
<isLessThan>    小于
<isLessEqual>      小于等于
分享到:
评论

相关推荐

    EtherCAT动态PDO映射的实现方法

    作为EtherCAT协议栈的补充,实现PDO动态映射,是一个完整的EtherCAT从站必要的组成部分。

    UPNP动态端口映射

    UPNP 动态端口映射 动态设置路由器端口映射

    ROS ADSL动态IP端口映射另类做法已带贴图

    ROS ADSL动态IP端口映射另类做法已带贴图

    22-05-19-049_AutoMapperWeb(AutoMapper深入理解)

    3. **谨慎使用动态映射**:避免在性能敏感的地方使用 `Map` 的泛型重载,因为它会尝试动态构建映射配置。 **七、最佳实践** 1. **分离关注点**:将映射配置放在独立的 Profile 类中,遵循单一职责原则。 2. **...

    惊蛰持久层,实现了动态映射,运行时改变数据库结构,同结构表,多数据库存储

    一个类似于Hibernate的持久层,比hibernate更小巧更灵活。并且实现了动态映射。运行时改变数据库结构。 比itbais不用写sql,内置了分页查询。详情请访问blog http://blog.csdn.net/hzg801106/

    高动态范围图像色调映射技术展望

    ### 高动态范围图像色调映射技术的发展与展望 #### 概述 高动态范围图像(High Dynamic Range Image,简称HDR图像)是一种能够记录比普通图像更宽亮度范围的图像格式,它能够更好地反映真实世界的视觉体验。由于...

    基于OpengL的环境纹理映射实现

    然而,为了达到更逼真的效果,还可以考虑使用高级技术,如法线映射、镜面高光等,来增强物体表面的细节和反射效果。这需要对光照模型和纹理贴图的使用有深入的理解,以及对GLSL着色器编程的熟练掌握。

    hibernate动态映射表处理oracle的clob类型

    3. **动态映射**:动态映射是Hibernate的一种映射方式,它允许在运行时根据数据库表结构自动创建实体类的映射。这意味着,如果你的数据库表中包含CLOB列,Hibernate会自动识别并处理。 4. **处理CLOB的策略**: - ...

    使用Chatgpt实现data mapping多种映射方式举例

    9. **动态映射**:在某些场景下,映射规则可能需要根据输入数据动态改变。例如,根据客户ID选择不同的映射规则。ChatGpt能够理解和生成动态映射的决策逻辑。 通过以上各种映射方式,ChatGPT可以在数据映射过程中...

    基于动态映射的卷积神经网络量化重训练方法.pdf

    "基于动态映射的卷积神经网络量化重训练方法" 卷积神经网络概述 卷积神经网络(Convolutional Neural Network,CNN)是一种深度学习算法,广泛应用于图像识别、目标检测、图像分割等计算机视觉任务。CNN的核心组件...

    远控端口映射工具

    3. 静态与动态映射:静态映射是指在路由器配置中固定一个公网端口到私网IP和端口的映射,适用于需要长期开放的服务。动态映射则由端口映射工具自动处理,每次连接时动态分配公网端口。 二、应用领域 1. 远程桌面:...

    局域网动态IP端口映射.pdf

    本文将详细介绍局域网动态IP端口映射的实现方法,包括使用花生壳实现动态域名解析、使用PortTunnel实现端口映射和使用CCPROXY架设个人代理服务器。 一、使用花生壳实现动态域名解析 我们大多数人都是ADSL拨号上网...

    网络游戏-可扩展网络化装置动态映射.zip

    《网络游戏中的可扩展网络化装置动态映射》 网络游戏,作为一种全球性的娱乐方式,其背后的技术支撑至关重要。其中,可扩展网络化装置动态映射在网络游戏的运行与优化中扮演着核心角色。这一技术旨在解决网络游戏中...

    动态域名解析与端口映射

    ### 动态域名解析与端口映射 #### 一、动态域名解析原理与应用 ##### 1.1 域名解析基础 在互联网世界里,为了方便人们记忆和访问,我们通常使用域名而非IP地址来标识一台主机的位置。然而,实际的数据传输过程中...

    ROS3.30版本多ADSL PCC负载均衡下的端口映射

    例如,在本例中,作者实现了将ROS路由器上的TCP 65535端口映射到192.168.2.22电脑的3389端口,并通过域名解析服务(如花生壳)实现了动态IP地址的管理,使得外部用户能够通过域名访问内部的服务。 #### 实现步骤...

    阿里云动态域名映射,亲测可行

    阿里云动态域名映射服务是一种高效且可靠的解决方案,它允许用户通过固定的域名访问到不断变化的公网IP地址。在互联网环境中,尤其是对于那些拥有家庭服务器、远程办公环境或者物联网设备的用户,动态DNS(Dynamic ...

    路由器端口映射 端口映射

    2. 内部IP地址变动:如果内部设备的IP地址是动态分配的,可以使用DMZ(Demilitarized Zone)功能,将所有外部流量转发到某台设备。 3. 多重NAT:在一些网络环境中,可能存在多层NAT,这可能导致端口映射失效。解决...

    c++实现的端口映射

    对于更复杂的端口映射场景,例如动态端口映射(DMZ)或UPnP(Universal Plug and Play)自动端口映射,可能还需要额外的库或协议支持。 总之,通过C++实现的端口映射程序,开发者可以深入了解网络编程和Winsock API...

    混沌映射特性.zip_matlab 帐篷_tent映射_tent混沌_分岔 tent_混沌映射

    在IT领域,混沌理论是一种研究看似随机但其实具有确定性的复杂动态系统行为的学科。混沌映射是混沌理论中的一个重要概念,它通过简单的数学规则产生出不可预测的长期行为。本压缩包包含了一些与混沌映射相关的MATLAB...

    QAM映射解映射_QAM映射_qam_

    为了提高系统可靠性,通常会使用信道编码和交织技术,以及自适应调制策略,根据信道状态动态调整调制阶数。 总之,QAM映射与解映射是数字通信中的核心环节,涉及到信号的高效编码和解码,对于理解现代通信系统的...

Global site tag (gtag.js) - Google Analytics