Mybatis 动态多条件排序

本文介绍了一种在实际开发中实现多条件动态排序的方法,通过示例代码展示了如何根据不同的需求调整排序规则,确保数据按指定条件进行升序或降序排列。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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

先上代码先上代码

//定义多条件排序
            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>
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值