mybatis里面实现动态升降序

问题

最近有一个需求,需要前端告诉后端按照某个字段进行排序。这里主要侧重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就可以了。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/954445.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

EasyLine(v2.0)自制光谱、曲线处理软件

前言&#xff1a;因为这次更新对软件的整体变动较大&#xff0c;所以就没有取版本v1.1&#xff0c;而是直接使用v2.0版本。然后上一版的讲解也不是很清楚&#xff0c;这次也做重点讲解一下。 自制光谱、曲线处理软件-EasyLine 软件的安装软件的使用总体介绍文件格式处理的使用 …

使用JMeter模拟多IP发送请求!

你是否曾遇到过这样的场景&#xff1a;使用 JMeter 进行压力测试时&#xff0c;单一 IP 被服务器限流或者屏蔽&#xff1f;这时&#xff0c;如何让 JMeter 模拟多个 IP 发送请求&#xff0c;成功突破测试限制&#xff0c;成为测试工程师必须攻克的难题。今天&#xff0c;我们就…

python如何设计矩阵

python设计矩阵&#xff1a; 1、调用numpy模块创建矩阵并设置矩阵的行跟列 import numpy matrix numpy.array([[1,2,3],[4,5,6],[7,8,9]])#创建矩阵 2、通过下标的办法输出二维列表中的一维列表&#xff0c;达到输出矩阵的效果 vector numpy.array([[1,2,3],[4,5,6],[7,8,9]…

量子计算:从薛定谔的猫到你的生活

文章背景 说到量子计算&#xff0c;不少人觉得它神秘又遥不可及。其实&#xff0c;它只是量子物理学的一个“应用小分支”。它的核心在于量子比特的“叠加”和“纠缠”&#xff0c;这些听上去像科幻小说的概念&#xff0c;却为计算世界开辟了一片全新的天地。如果经典计算是“…

python 轮廓 获取环形区域

目录 效果图&#xff1a; 代码&#xff1a; 效果图&#xff1a; 代码&#xff1a; import cv2 import numpy as np# 读取图像 image cv2.imread(rE:\project\jijia\tools_jijia\img_tools\ground_mask.jpg, cv2.IMREAD_GRAYSCALE) # 二值化图像 # 二值化图像 _, binary cv…

Python | 使用Matplotlib进行图案填充和边缘颜色分离的三种方法

Matplotlib是Python中功能强大的绘图库&#xff0c;允许广泛的自定义选项。一个常见的要求是分离出图中的图案填充和边缘颜色。默认情况下&#xff0c;Matplotlib中的填充颜色与边缘颜色相关联&#xff0c;但有一些方法可以独立自定义这些颜色。本文将深入研究如何实现这一点的…

OpenStack 网络服务的插件架构

OpenStack 的网络服务具有灵活的插件架构&#xff0c;可支持多种不同类型的插件以满足不同的网络需求。以下是对 OpenStack 网络服务插件架构中一些常见插件类型的介绍&#xff1a; 一、SDN 插件 Neutron 与 SDN 的集成&#xff1a;在 OpenStack 网络服务里&#xff0c;SDN 插…

从 MySQL 到 ClickHouse 的迁移与优化——支持上亿级数据量的复杂检索

文章目录 1. ClickHouse 背景与使用场景1.1 ClickHouse 简介1.2 ClickHouse 的特点1.3 ClickHouse 的使用场景 2. 从 MySQL 到 ClickHouse 的迁移2.1 MySQL 与 ClickHouse 的对比2.2 迁移背景2.3 迁移注意事项2.3.1 数据模型设计2.3.2 数据迁移2.3.3 SpringBoot 项目改造2.3.4 …

08:软件定时器+中断管理

软件定时器中断管理 1、软件定时器2、中断管理2.1、中断屏蔽2.2、临界区 1、软件定时器 软件定时器是基于 FreeRTOS 内核提供的时间管理功能实现的&#xff0c;允许开发者创建、启动、停止、删除和管理定时器&#xff0c;从而实现在任务中对时间的灵活控制。 软件定时器硬件定…

数据结构《MapSet哈希表》

文章目录 一、搜索树1.1 定义1.2 模拟实现搜索 二、Map2.1 定义2.2 Map.Entry2.3 TreeMap的使用2.4 Map的常用方法 三、Set3.1 定义3.2 TreeSet的使用3.3 Set的常用方法 四、哈希表4.1 哈希表的概念4.2 冲突4.2.1 冲突的概念4.2.2 冲突的避免1. 选择合适的哈希函数2. 负载因子调…

蓝桥与力扣刷题(709 转换成小写字母)

题目&#xff1a;给你一个字符串 s &#xff0c;将该字符串中的大写字母转换成相同的小写字母&#xff0c;返回新的字符串。 示例 1&#xff1a; 输入&#xff1a;s "Hello" 输出&#xff1a;"hello"示例 2&#xff1a; 输入&#xff1a;s "here…

unity学习16:unity里向量的计算,一些方法等

目录 1 unity里的向量&#xff1a; 2 向量加法 2.1 向量加法的几何意义 2.2向量加法的标量算法 3 向量减法 3.1 向量减法的几何意义 3.2 向量减法的标量算法 4 向量的标量乘法 5 向量之间的乘法要注意是左乘 还是右乘 5.1 注意区别 5.2 向量&#xff0c;矩阵&#x…

算法3(力扣83)-删除链表中的重复元素

1、题目&#xff1a;给定一个已排序的链表的头 head &#xff0c; 删除所有重复的元素&#xff0c;使每个元素只出现一次 。返回 已排序的链表 。 2、实现&#xff08; 因为已排序&#xff0c;所以元素若重复&#xff0c;必然在其下一位&#xff09;&#xff08;这里为在vscod…

深度学习基础知识

深度学习是人工智能&#xff08;AI&#xff09;和机器学习&#xff08;ML&#xff09;领域的一个重要分支&#xff0c;以下是对深度学习基础知识的归纳&#xff1a; 一、定义与原理 定义&#xff1a;深度学习是一种使计算机能够从经验中学习并以概念层次结构的方式理解世界的机…

基于mediapipe的手势游戏控制

基于mediapipe的手势游戏控制 ​ 玩游戏&#xff0c;那不是有手就行!!! mediapipe介绍 ​ Mediapipe是Google在2019年开发并提出的一款开源的跨平台多媒体处理框架&#xff0c;用于构建基于机器学习的应用程序&#xff0c;特别是涉及到计算机视觉、音频处理、姿势估计等领域。…

015: 深度学习之正向传播和反向传播

本文为合集收录&#xff0c;欢迎查看合集/专栏链接进行全部合集的系统学习。 合集完整版请参考这里。 上一节介绍了训练和推理的概念&#xff0c;这一节接着训练和推理的概念讲一下&#xff0c;神经网络的正向传播和反向传播。 正反向传播 其实单看正向传播和反向传播这两个…

2025.1.15——二、字符型注入

一、基本操作&#xff1a;整理已知信息&#xff0c;本题为字符型注入 二、解题步骤 step 1&#xff1a;确认为字符型注入 键入&#xff1a; 1 键入&#xff1a;1 and 12 # 发现报错 键入&#xff1a;1 and 11 # 未发现报错 所以确认为字符型注入 step 2&#xff1a;查询…

UML系列之Rational Rose笔记四:时序图(顺序图_序列图)

时序图有很多画法&#xff0c;这基本上能算rose里面要求最乱的一种图了&#xff1b;有些人的需求是BCE模式&#xff0c;这是正常规范点的&#xff0c;有些人就不需要&#xff0c;有些需要用数据库交互&#xff0c;有些不需要&#xff1b;没有一个较为统一的需求&#xff1b;在此…

LabVIEW水位监控系统

LabVIEW开发智能水位监控系统通过集成先进的传感技术与控制算法&#xff0c;为工业液体存储提供精确的水位调控&#xff0c;保证了生产过程的连续性与安全性。 项目背景 在化工和饮料生产等行业中&#xff0c;水位控制的准确性对保证生产安全和提高产品质量至关重要。传统的水…

STC的51单片机LED点灯基于KEIL

前言&#xff1a; 该文源于回答一个朋友的问题&#xff0c;代码为该朋友上传&#xff0c;略作修改&#xff0c;在此说明问题以及解决问题的思路&#xff0c;以减少新手错误。 电路图&#xff1a; 该位朋友未上传电路图&#xff0c;说明如下&#xff1a; stc8g1k08a-sop8控制…