mybatis 时间判断 if else

写了一个模糊查询 感觉是我学Java的巅峰了

<select id="findBorSearch" resultType="java.util.HashMap"

parameterType="java.util.HashMap">
select
bli.borloaninfo_id,
bli.bor_id,ee.emp_name,
bli.emp_id ,
bli.loan_number
,bli.loan_account
,to_char(bli.loan_date,'yyyy-MM-dd')
loanDate
,to_char(bli.loan_repayment_date,'yyyy-MM-dd')
loanRepaymentDate,
bli.loan_rate
,bli.loaninfo_type ,
bor.bor_name
,lt.loantype_name
,ls.loanstate_name
from
employee ee,
borLoanInfo bli,
borrower
bor,loantype
lt,loanmanage lm,loanstate ls,bankinfo bk
<where>
bli.bor_id =
bor.bor_id
and
bli.loan_type = lt.loantype_id
and
lm.loaninfo_id =
bli.borloaninfo_id
and lm.loanstate_id =
ls.loanstate_id and ee.emp_id =
bli.emp_id and bli.bankinfo_id =
bk.bankinfo_id
<if test="borName!=null and borName!=''">
and bor.bor_name like '%' || '${borName}' ||'%'
</if>
<if test="empName!=null and empName!=''">
and ee.employee like '%' || '${empName}' ||'%'
</if>
<if test="contractId!=null and contractId!=''">
and bli.contract_id like '%' || '${contractId}' || '%'
</if>
<if test="!(loanStateId.length()>5)">
and lm.loanstate_id = #{loanStateId,jdbcType=VARCHAR}
</if>
<if test="!(bankId.length()>5)">
and bli.bankinfo_id = #{bankId,jdbcType=VARCHAR}
</if>
<choose>
<when test="dateFrom!=null and dateFrom!=''">
and bli.loan_repayment_date between
to_date('${dateFrom}','yyyy/MM/dd')
</when>
<otherwise>
and bli.loan_repayment_date between
to_date('1900-01-01','yyyy/MM/dd')
</otherwise>
</choose>
<choose>
<when test="dateTo!=null and dateTo!=''">
and to_date('${dateTo}','yyyy/MM/dd')
</when>
<otherwise>
and to_date('2100-12-31','yyyy/MM/dd')
</otherwise>
</choose>
</where>

</select>


好开心


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值