mybatis if高级用法

<select id="qryCord4Mgr" parameterType="map" resultMap="com.lecing.qry.ms.dao.QryCord4MsDAO.rs_CordVO">
select
a.cordno,a.rity,a.flatno,a.flatn,a.fsubno,a.fsubn,a.fordno,a.custno,a.custname,a.custmbl,a.idcard,a.cardpic2,a.cardpic1,a.headpic,a.linkman,a.linkmbl,a.realnt,a.gathno,a.roomno,a.drm,a.xrean,a.xrea,a.blockn,a.blockno,a.doorno,a.cell,a.leaseday,a.mons,a.lineday,a.odds,a.epday,a.rent,a.mgrfee,a.step,a.pledge,a.pledge_pay,a.oncefee,a.oncefee_pay,a.paidmx,a.renew,a.renew_date,a.orgfc,a.mpyaskst,a.mpyaud,a.asktime,a.ask_expired,a.ztrino,a.ztrin,a.omgr,a.omgrno,a.note,a.est_rent,a.rent_es_no,a.rent_es_docid,a.est_mpy,a.mpy_rent_no,a.mpy_rent_docid,a.mpy_fc_no,a.mpy_fc_docid,a.cordst,a.spot,a.stewno,a.stewer,a.stewmbl,a.optor,a.optno,a.crtime,a.uptime,
b.last_mx,
c.batx_size,c.last_batx,c.last_out_mx,
d.fvoust
from cord a
left join cord_pay_inf b on a.cordno=b.cordno
left join cord_out_inf c on a.cordno=c.cordno
inner join room d on a.roomno=d.roomno
<if test="cordpayst_vilt!=null and flagst_vilt==‘cordpayst_vilt‘">
inner join cord_vilt f on a.cordno=f.cordno
</if>
<where>
<if test="flatno!=null and flatno!=‘‘">and a.flatno=#{flatno}</if>
<if test="xrea!=null and xrea==‘‘">and a.xrea!=#{xrea}</if>
<if test="fsubno!=null and fsubno!=‘‘">and a.fsubno=#{fsubno}</if>
<if test="rentype!=null and rentype==‘ZZ‘">and a.cell=‘0‘</if>
<if test="rentype!=null and rentype==‘HZ‘">and a.cell!=‘0‘</if>
<if test="mpyaskst!=null and mpyaskst==‘NONE‘">and a.mpyaskst=0</if>
<if test="mpyaskst!=null and mpyaskst==‘START‘">and a.mpyaskst=1</if>
<if test="mpyaskst!=null and mpyaskst==‘WAIT_AUD‘">and a.mpyaskst=2</if>
<if test="mpyaskst!=null and mpyaskst==‘SUCCESS‘">and a.mpyaskst=3</if>
<if test="mpyaskst!=null and mpyaskst==‘REJECT_CUST‘">and a.mpyaskst=4</if>
<if test="mpyaskst!=null and mpyaskst==‘REJECT_CREDIT‘">and a.mpyaskst=5</if>
<if test="mpyaskst!=null and mpyaskst==‘REJECT_RISK‘">and a.mpyaskst=6</if>
<if test="mpyaskst!=null and mpyaskst==‘VILT‘">and a.mpyaskst=7</if>
<if test="mpyaskst!=null and mpyaskst==‘VILT_DONE‘">and a.mpyaskst=8</if>
<if test="flagst!=null and flagst==‘NORMAL‘">and a.cordst=1</if>
<if test="flagst!=null and flagst==‘VILT_FC‘">and a.cordst=2</if>
<if test="flagst!=null and flagst==‘FINISHED‘">and a.cordst=3</if>
<if test="flagst!=null and flagst==‘VILT_RENT‘">and a.cordst=4</if>
<if test="flagst!=null and flagst==‘AUDITED‘">and a.cordst=5</if>
<if test="flagst!=null and flagst==‘DELIVED‘">and a.cordst=6</if>
<if test="flagst!=null and flagst==‘NULLIFY‘">and a.cordst=7</if>
<if test="flagst!=null and flagst==‘WIAT_DELIV‘">and a.cordst in(2,3,4)</if>
<if test="flagst!=null and flagst==‘ABOUT_CUST‘">and a.cordst=1 and date_add(curdate(), interval 45 day)>a.renew_date</if>
<if test="flagst!=null and flagst==‘OUTDATE_CUST‘">and a.cordst=1 and curdate()>a.renew_date</if>
<if test="custname!=null and custname!=‘‘">and a.custname=#{custname}</if>
<if test="custmbl!=null and custmbl!=‘‘">and a.custmbl=#{custmbl}</if>
<if test="idcard!=null and idcard!=‘‘">and a.idcard=#{idcard}</if>
<if test="crtime!=null and crtime==‘T0‘.toString()">and curdate()=date_format(a.crtime,‘%Y-%m-%d‘)</if>
<if test="crtime!=null and crtime==‘T1‘.toString()">and curdate()=date_add(date_format(a.crtime,‘%Y-%m-%d‘), interval 1 day)</if>
<if test="crtime!=null and crtime==‘T2‘.toString()">and curdate()=date_add(date_format(a.crtime,‘%Y-%m-%d‘), interval 2 day)</if>
<if test="crtime!=null and crtime==‘T3‘.toString()">and curdate()=date_add(date_format(a.crtime,‘%Y-%m-%d‘), interval 3 day)</if>
<if test="crtime!=null and crtime==‘T7‘.toString()">and curdate()>=date_add(date_format(a.crtime,‘%Y-%m-%d‘), interval 4 day) and date_add(date_format(a.crtime,‘%Y-%m-%d‘), interval 7 day)>=curdate()</if>
<if test="crtime!=null and crtime==‘T15‘.toString()">and curdate()>=date_add(date_format(a.crtime,‘%Y-%m-%d‘), interval 8 day) and date_add(date_format(a.crtime,‘%Y-%m-%d‘), interval 15 day)>=curdate()</if>
<if test="cordpayst_vilt!=null and flagst_vilt==‘cordpayst_vilt‘">
and a.cordst=2
<if test="flagst!=null and flagst==‘VILT_T7‘.toString()">and curdate()>date_add(f.crtime, interval 1 day) and date_add(f.crtime, interval 7 day)>=curdate()</if>
<if test="flagst!=null and flagst==‘VILT_T15‘.toString()">and curdate()>=date_add(f.crtime, interval 8 day) and date_add(f.crtime, interval 15 day)>=curdate()</if>
<if test="flagst!=null and flagst==‘VILT_T30‘.toString()">and curdate()>=date_add(f.crtime, interval 16 day) and date_add(f.crtime, interval 30 day)>=curdate()</if>
<if test="flagst!=null and flagst==‘VILT_GT30‘.toString()">and curdate()>=date_add(f.crtime, interval 31 day)</if>
</if>

</where>
order by a.crtime desc
limit #{rowStart},#{pageSize}
</select>

原文地址:http://blog.51cto.com/lavasoft/2154752

时间: 2024-11-10 14:09:46

mybatis if高级用法的相关文章

Mybatis最入门---ResultMaps高级用法(上)

[一步是咫尺,一步即天涯] 接上文,我们基本的单表查询使用上文中的方式已经能够达到目的.但是,我们日常的业务中也存在着多表关联查询,结果是复杂的数据集合等等.本文我们就来介绍ResultMaps的高级用法,本文,我们先介绍基本的概念,具体用法实例在下一篇中专门演示给大家.敬请期待! ------------------------------------------------------------------------------------------------------------

Mybatis最入门---ResultMaps高级用法(下)

[一步是咫尺,一步即天涯] 接上文,本文我们继续来叙述Mybatis中resultMap的高级用法,类似的,我们先给大家叙述基本的概念及用法,具体实例在后文中再做演示,敬请期待! ------------------------------------------------------------------------------------------------------------------------------------- 上文,我们说到了"has-many"这个问

jquery on高级用法

on()的高级用法 针对自己处理机制中,不仅有on方法,还有根据on演变出来的live方法(1.7后去掉了),delegate方法等等.这些方法的底层实现部分 还是on方法,这是利用了on的另一个事件机制委托的机制衍变而来的 委托机制 .on( events ,[ selector ] ,[ data ], handler(eventObject) ) 在on的第二参数中提供了一个selector选择器,简单的来描述下 参考下面3层结构 <div class="left">

Newtonsoft.Json高级用法

手机端应用讲究速度快,体验好.刚好手头上的一个项目服务端接口有性能问题,需要进行优化.在接口多次修改中,实体添加了很多字段用于中间计算或者存储,然后最终用Newtonsoft.Json进行序列化返回数据,经过分析一个简单的列表接口每一行数据返回了16个字段,但是手机APP端只用到了其中7个字段,剩余9个字段的数据全部都是多余的,如果接口返回数据为40K大小,也就是说大约20K的数据为无效数据,3G网络下20K下载差不多需要1s,不返回无效数据至少可以节约1s的时间,大大提高用户体验.本篇将为大家

&lt;06&gt;变量使用前易犯错误总结+if语句介绍及基本格式+if-else语句及嵌套+if语句的高级用法+if语句的使用注意点+arc4random_uniform 函数导入一个头文件&lt;stdlib.h&gt;+

1)变量要初始化 -1 0  ,或者1 依据程序而定 ---------------------------------- if语句介绍及基本格式 分支语句结构 1)if 格式: if(表达式/常量/变量){ 语句块1; } 原理: 1)先计算小括号中的表达式的值 真(1) 会执行 大括号中的语句 假(0) 不会执行 大括号中的语句 2) switch 1 #include <stdio.h> 2 3 int main(int argc, const char * argv[]) { 4 5

JS Replace() 高级用法(转)

在很多项目中,我们经常需要使用JS,在页面前面对前台的某些元素做做修改,js 的replace()方法就必不可少. 经常使用"ABCABCabc".replace("A","B")的同学应该会比较清楚,改语句的最终结果是BBCABC,这种方法只能替换 第一个匹配的元素.如果替换所有呢?使用正则表达式即可: "ABCABCabc".replace(/A/g,"B") 即可. 那如果想替换A的同时也可以替换a呢

Python爬虫的Urllib库有哪些高级用法?

本文和大家分享的主要是python爬虫的Urllib库的高级用法相关内容,一起来看看吧,希望对大家学习python有所帮助. 1.分分钟扒一个网页下来 怎样扒网页呢?其实就是根据URL来获取它的网页信息,虽然我们在浏览器中看到的是一幅幅优美的画面,但是其实是由浏览器解释才呈现出来的,实质它 是一段HTML代码,加 JS.CSS,如果把网页比作一个人,那么HTML便是他的骨架,JS便是他的肌肉,CSS便是它的衣服.所以最重要的部分是存在于HTML中的,下面我 们就写个例子来扒一个网页下来. imp

GUN sed高级用法,sed脚本编写

这里举一些sed常用的高级用法例子经供参考: 一下操作都针对file.txt文件作修改 [[email protected] ~]# cat file.txt libgcc-4.4.7-4.el6.x86_64 setup-2.8.14-20.el6_4.1.noarch tzdata-2013g-1.el6.noarch jakarta-commons-collections-3.2.1-3.4.el6.noarch filesystem-2.4.30-3.el6.x86_64 mesa-dr

Git log高级用法

格式化Log输出 首先,这篇文章会展示几种git log格式化输出的例子.大多数例子只是通过标记向git log请求或多或少的信息. 如果你不喜欢默认的git log格式,你可以用git config的别名功能来给你想要的格式创建一个快捷方式. Oneline --oneline标记把每一个提交压缩到了一行中.它默认只显示提交ID和提交信息的第一行.git log --oneline的输出一般是这样的: 0e25143 Merge branch 'feature' ad8621a Fix a b