Mybatis 动态多条件排序

在实际开发过程中难免会遇到多条件动态排序,哈哈遇到了就不要慌,我这一篇博客可以拯救你。

先上代码先上代码

//定义多条件排序
            StringBuffer stringBuffer = new StringBuffer(" order by ");
            if (soldTotal != null) {
                stringBuffer.append("sold_total  ");
                if (soldTotal == 1) {
                    stringBuffer.append(" desc  ,");
                } else {
                    stringBuffer.append(" asc , ");
                }
            }
            if (inventoryTotal != null) {
                stringBuffer.append("inventory_total  ");
                if (inventoryTotal == 1) {
                    stringBuffer.append(" desc  ,");
                } else {
                    stringBuffer.append(" asc , ");
                }
            }
            if (stringBuffer.length() == 0) {
                stringBuffer.append(" order by ");
            }
            stringBuffer.append(" create_time desc ");
            parameters.put("orderByType", stringBuffer.toString());

使用${}将拼接好的字符串传递进来

  <if test="orderByType!=null and orderByType!=''">
            ${orderByType}
        </if>
        <if test=" orderByType==null  or orderByType==''   ">
            order by create_time desc
        </if>
        <if test="begin != null">
            limit #{begin},#{end}
        </if>

你可能感兴趣的:(java,Mybatis)