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代码模拟实现课堂上的“银行账户”的实例,要求编写客户端测试代码模拟用户存款和取款,注意账户对象状态和行为的变化。类图源代码
    Javapacka

    礼包 2021年12月14日
  • JAVA多线程怎么实现用户任务排队并预估排队时长

    技术JAVA多线程怎么实现用户任务排队并预估排队时长这篇文章主要介绍“JAVA多线程怎么实现用户任务排队并预估排队时长”,在日常操作中,相信很多人在JAVA多线程怎么实现用户任务排队并预估排队时长问题上存在疑惑,小编查阅

    攻略 2021年12月9日
  • 抖音粉丝哪里买,哪里有专门卖抖音粉丝的

    技术抖音粉丝哪里买,哪里有专门卖抖音粉丝的抖音是否能够刷粉,网站即可刷到粉丝,现如今抖音粉丝是大家比较关注的问题,只要在代刷网刷粉想要多少可以刷多少,粉丝都是活跃粉丝,都是真人粉丝。
    抖音在短视频app中是最大人流量之一

    测评 2021年10月20日
  • JavaScript实现换肤效果(换背景)

    技术JavaScript实现换肤效果(换背景) JavaScript实现换肤效果(换背景)JavaScript实现换肤效果(换背景)
    本文实例为大家分享了JavaScript实现换肤效果的具体代码,供大

    礼包 2021年11月1日
  • Nginx常用功能有哪些

    技术Nginx常用功能有哪些这篇文章主要介绍“Nginx常用功能有哪些”,在日常操作中,相信很多人在Nginx常用功能有哪些问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”Nginx常用功能

    攻略 2021年12月10日
  • 抖音刷点赞,,抖音怎么获得大量点赞?

    技术抖音刷点赞,,抖音怎么获得大量点赞?如今越来越多的人玩抖音,可以说是生活中的一件必备品,它拥有很多的知识、乐趣和经验。希望玩抖音的人,肯定少不了要很多粉丝,那怎么能让自己的粉丝涨得更快一点呢?怎样才能验出来希望玩抖音

    测评 2021年11月11日