zoukankan      html  css  js  c++  java
  • MyBatis中动态sql实现时间范围比较的查询

    场景

    前端传递两个时间参数,开始时间和结束时间,然后从数据库中筛选出某个时间属性在此范围的数据。

    Mybatis的动态sql的写法。

    注:

    博客:
    https://blog.csdn.net/badao_liumang_qizhi
    关注公众号
    霸道的程序猿
    获取编程相关电子书、教程推送与免费下载。

    实现

    <if test="ksrq != null">
        AND date_format(d.ddsj,'%y%m%d') >= date_format(#{ksrq},'%y%m%d')
    </if>
    <if test="jsrq != null">
         AND date_format(#{jsrq},'%y%m%d') >= date_format(d.ddsj,'%y%m%d')
    </if>

    注:

    其中ksrq是前端传递过来的开始日期参数,jsrq是前端传递过来的结束日期参数。

    d是数据库的表,d.ddsj是数据库中做筛选的时间字段。

    完整xml参考

    <select id="getListBySx"  resultMap="KqDdjlResult">
            SELECT
            d.id,
            d.gh,
            d.sfcl,
            j.xm,
            d.ddlb,
            d.ddsj,
            s.dept_name AS mbdw,
            ss.dept_name AS ydw,
            d.ddxs
            FROM
            dp_ddjl d
            LEFT JOIN dp_jbxx j ON j.gh = d.gh
            LEFT JOIN sys_dept s ON d.mbdw = s.dept_id
            LEFT JOIN sys_dept ss ON d.ydw = ss.dept_id
    
            <where>
                <if test="array != null">
                    and j.bmid in
                    <foreach collection="array" item="item" open="(" separator="," close=")">
                        ${item}
                    </foreach>
                </if>
                <if test="xm != null  and xm != ''">
                    and j.xm like concat('%', #{xm}, '%')
                </if>
                <if test="ddlx != null  and ddlx!= ''"> and d.ddlb = #{ddlx}</if>
                <if test="sfclwc != null  and sfclwc!= ''"> and d.sfcl = #{sfclwc}</if>
                <if test="ksrq != null">
                    AND date_format(d.ddsj,'%y%m%d') >= date_format(#{ksrq},'%y%m%d')
                </if>
                <if test="jsrq != null">
                    AND date_format(#{jsrq},'%y%m%d') >= date_format(d.ddsj,'%y%m%d')
                </if>
    
            </where>
    
        </select>
    博客园: https://www.cnblogs.com/badaoliumangqizhi/ 关注公众号 霸道的程序猿 获取编程相关电子书、教程推送与免费下载。
  • 相关阅读:
    vue-router2.0 组件之间传参及获取动态参数
    vuex
    移动端微信部分知识总结
    移动端js知识总结
    [luogu]P4365[九省联考]秘密袭击coat(非官方正解)
    [luogu]P4364 [九省联考2018]IIIDX
    [luogu]P4363 [九省联考2018]一双木棋chess
    后缀数组自用
    BZOJ5288 [Hnoi2018]游戏
    Bzoj5290: [Hnoi2018]道路
  • 原文地址:https://www.cnblogs.com/badaoliumangqizhi/p/13390757.html
Copyright © 2011-2022 走看看