在实际开发过程中难免会遇到多条件动态排序,哈哈遇到了就不要慌,我这一篇博客可以拯救你。
先上代码先上代码
//定义多条件排序
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>