ibatis映射需要字段一样多吗(ibatis如何映射到dao层)

技术如何分析iBATIS动态映射这期内容当中小编将会给大家带来有关如何分析iBATIS动态映射,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。iBATIS动态映射都是用在复杂查询过程中,

(地址如#地址#)

假设'

name"属性的值为“Erica”, "address"属性的值为“Beijing”,则会生成类似下面的SQL子句(实际运行期将生成带占位符的PreparedStatement,之后再为其填充数据):

WHERE (name like ‘Beijing’) AND (address like ‘Beijing’)

其中WHERE 之后的语句是在dynamic 节点中所定义,因此以dynamic 节点的prepend设置("WHERE")作为前缀,而其中的”AND”,实际上是address属性所对应的isNotEmpty节点的prepend设定,它***了对应节点中定义的SQL子句。至于name属性对应的isNotEmpty节点,由于iBATIS会自动判定是否需要追加prepend前缀,这里(name like #name#)是WHERE 子句中的***个条件子句,无需AND 前缀,所以自动省略。

判定节点并非仅限于isNotEmpty,iBATIS中提供了丰富的判定定义功能。判定节点分两类:

Ø 一元判定

一元判定是针对属性值本身的判定,如属性是否为NULL,是否为空值等。

上面示例中isNotEmpty就是典型的一元判定。

一元判定节点有:

节点名 描述

参数类中是否提供了此属性

与相反

属性值是否为NULL

与相反

如果属性为Collection或者String,其size是否 与相反。

Ø 二元判定

二元判定有两个判定参数,一是属性名,而是判定值,如

(age=#age#)

其中,property="age"指定了属性名”age”,compareValue=”18”指明了判定值为”18”。上面判定节点isGreaterThan 对应的语义是:如果age 属性大于18(compareValue),则在SQL中加入(age=#age#)条件。

上述就是小编为大家分享的如何分析iBATIS动态映射了,如果刚好有类似的疑惑,不妨参照上述分析进行理解。如果想知道更多相关知识,欢迎关注行业资讯频道。

内容来源网络,如有侵权,联系删除,本文地址:https://www.230890.com/zhan/152039.html

(0)

相关推荐

  • java如何实现单机接口限流

    技术java如何实现单机接口限流这篇文章主要为大家展示了“java如何实现单机接口限流”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“java如何实现单机接口限流”这篇文章吧。

    攻略 2021年11月25日
  • 抖音刷粉网站,在线刷抖音赞免费平台?

    技术抖音刷粉网站,在线刷抖音赞免费平台?如何拍摄抖音短视频?什么样的短片被拍出来后播放量会高?以下就让小编来给大家解释一下。如何拍摄想要高播放量的短视频却又不知道如何选择的抖音现在开始在越来越多的年轻人中流行起来,除了因

    测评 2021年10月21日
  • Java框架与组件技术复习

    技术Java框架与组件技术复习 Java框架与组件技术复习java框架与组件技术解释ORM思想的主要内容
    对象映射到关系型数据库中,建立实体类和数据库表之间的关系,从而达到操作实体类就相当于操作数据库表

    礼包 2021年12月17日
  • wcf服务接口定义的前面需要注解啥(wcf序列化是在客户端还是服务端)

    技术WCF服务元数据结构模式是怎样的这篇文章主要介绍“WCF服务元数据结构模式是怎样的”,在日常操作中,相信很多人在WCF服务元数据结构模式是怎样的问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家

    攻略 2021年12月14日
  • linux 定时任务

    技术linux 定时任务 linux 定时任务crontab: 排程(定时软件)增加定时任务(crontab -e)例每天的凌晨2:50执行/root/1.sh50 02 * * * /root/1.s

    礼包 2021年12月18日
  • socket编程中常用协议有哪些

    技术socket编程中常用协议有哪些这篇文章给大家分享的是有关socket编程中常用协议有哪些的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。1.ip IP协议是将多个包交换网络连接起来,它在源

    攻略 2021年11月17日