mybatis 时间判断 if else

来源:互联网 发布:nodejs 写入json文件 编辑:程序博客网 时间:2024/05/17 21:06

写了一个模糊查询 感觉是我学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>


好开心


原创粉丝点击