当前位置: 首页 > article >正文

mybatis的动态sql用法之排序

概括

在最近的开发任务中,涉及到了一些页面的排序,其中最为常见的就是时间的降序和升序。这个有的前端控件就可以完成,但是对于一些无法用前端控件的,只能通过后端来进行解决。

后端的解决方法就是使用mybatis的动态sql拼接。

如何使用

在mybatis中提供了丰富的动态sql拼接的标签,这里采用我们常用的,whereifchoosewhen
来进行完成。

代码准备

这里先声明一下,可以和前端约定传递的字段,例如用field字段来接受需要排序的字段、用order字段来接收是升序还是降序。

好了,到了这里可以准备书写mybatis的文件了。

假设我们拿到了前端传递过来的数据。

public List<Student> selectStudentList(String field , String order)
<select id="selectStudentList" resutlt="Student">
	select * form student 
	<where>
		//查询条件
	</where>
	<choose>
		<if test="field != null and field != '' and order != null and order != '' ">
		order by
			<when test="field =='createTime' ">
				create_time
			</when>	
			<when test="field =='updateTime' ">
				update_time
			</when>	
			<when test="order=='desc' ">
				desc
			</when>	
			<when test="order=='asc' ">
				asc
			</when>	
		</if>
	</choose>
<select>

这样就可以通过前端的传递的值来动态的进行查询展示排序了。


http://www.kler.cn/a/403192.html

相关文章:

  • 大语言模型---LoRA中损失值的计算
  • Qt之QWidget相关
  • 国产linux系统(银河麒麟,统信uos)使用 PageOffice 动态生成word文件
  • Nacos实现IP动态黑白名单过滤
  • Vue2与Vue3:深入比较与迁移指南
  • 23种设计模式速记法
  • 同三维T80003JEHS 4K/60帧HDMI/SDI超高清H.265解码器
  • java arr.length 获取数组长度 开销 详解
  • x的算术平方根( 二分查找)
  • SQL Server Management Studio 的JDBC驱动程序和IDEA 连接
  • 跨平台WPF框架Avalonia教程 十二
  • 关于安卓模拟器或手机设置了BurpSuite代理和安装证书后仍然抓取不到APP数据包的解决办法
  • 基于gradio+networkx库对图结构进行可视化展示
  • TypeScript 与 JavaScript 的主要区别及使用场景
  • [大数据] Iceberg
  • Spark RDD中的迭代器
  • 机器学习笔记 // 创建窗口数据集
  • 什么是 C++ 中的初始化列表?它的作用是什么? 初始化列表和在构造函数体内赋值有什么区别?
  • LLM学习笔记(2)会话补全Chat Completions、什么是JSON?
  • Leetcode661:图片平滑器 C语言
  • 详解Rust结构体struct用法
  • 【C语言】C语言代码的编写规范、注释规范
  • 数据结构的两大要素
  • 【监控】如何打开笔记本的电脑调出摄像头将画面保存下来
  • 华为Ensp模拟器配置OSPF路由协议
  • AI 一键生成 POD 素材:手绘风格圣诞元素印花图案分享