当前位置: 代码网 > it编程>编程语言>Java > mybatis实现动态升降序的问题小结

mybatis实现动态升降序的问题小结

2025年02月13日 Java 我要评论
问题最近有一个需求,需要前端告诉后端按照某个字段进行排序。这里主要侧重mybatis的xml实现,其他spring集成就忽略了。mapper xml实现<if test="sortfield !

问题

最近有一个需求,需要前端告诉后端按照某个字段进行排序。这里主要侧重mybatis的xml实现,其他spring集成就忽略了。

mapper xml实现

<if test="sortfield != null and sortfield != ''">
    order by
    <choose>
        <when test="sortfield == 'percapitaeffectivepoints'">
            per_capita_effective_points ${sortorder}
        </when>
        <when test="sortfield == 'percapitacumulativepoints'">
            per_capita_cumulative_points ${sortorder}
        </when>
        <otherwise>
            dept_name
        </otherwise>
    </choose>
</if>

注意,这里使用的是$而不是使用#,如果使用#语法mybatis拼接出来order by子句不符合sql语法。只能使用$语法引用变量。这里还需要在java代码里面做一些防注入处理。类似如下:

string validatedsortorder = "desc".equalsignorecase(sortorder) ? "desc" : "asc";

后面使用validatedsortorder变量的数据传给mybatis就可以了。

到此这篇关于mybatis里面实现动态升降序的文章就介绍到这了,更多相关mybatis升降序内容请搜索代码网以前的文章或继续浏览下面的相关文章希望大家以后多多支持代码网!

(0)

相关文章:

版权声明:本文内容由互联网用户贡献,该文观点仅代表作者本人。本站仅提供信息存储服务,不拥有所有权,不承担相关法律责任。 如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 2386932994@qq.com 举报,一经查实将立刻删除。

发表评论

验证码:
Copyright © 2017-2025  代码网 保留所有权利. 粤ICP备2024248653号
站长QQ:2386932994 | 联系邮箱:2386932994@qq.com