Springboot Mybatis 自定义顺序排序查询,指定某个字段 |
您所在的位置:网站首页 › mongodb精准查询 › Springboot Mybatis 自定义顺序排序查询,指定某个字段 |
前言
与本文无关 "我进去了" ....... 正文今天要讲些什么? 其实很简单,就是查询数据的时候,想根据自己指定的字段的自定义顺序,做排序查询数据。 本篇文章会讲到的几个点 : 1. 单纯sql 怎么实现 排序2. 单纯sql 怎么实现 自定义排序 3. 结合java ,怎么排序4. 结合mybatis 怎么把 第2点的 排序sql 用起来 讲的过程,可能会不按照顺序。 开搞 先看示例表 : product 产品表 示例数据: 排序, order by asc 或者 order by desc 很简单 比如 : SELECT * FROM product ORDER BY id DESC ; 那么如果有个需求,说不能按照id排序,需要按照产品名称 name 排序, 阁下又该如何应对呢?比如说就是指定了 这个固定的顺序 : 首先比较常规的方式 : ① 加 sort字段 order by sort ② 加个顺序配置表 关联表查询 这两个方法,对不起,太常规了,这一篇不说。 我们现在的要求再严格一点, 不准你动表结构这些。怎么搞? 使用 ORDER BY FIELD 示例: SELECT * FROM product ORDER BY FIELD(NAME,'大饼','书','棋','墨','笔','纸'); sql方面这样搞暂且OK。 那么如果我说的是 我们现在是写功能需求, 用的就是java springboot mybatis 这些, 怎么去解决自定义顺序? ① 正常查出数据,然后循环变量,根据产品名称洗一遍数据。 常规操作,不介绍。 ②通过我们平时经常使用的mybatis 也就是传参,然后执行sql查询实现。 也就是执行这个sql: SELECT * FROM product ORDER BY FIELD(NAME,'大饼','书','棋','墨','笔','纸'); 简单写下,mapper : /** * @author JCccc */ @Mapper public interface ProductMapper { List queryProductList(@Param("nameSortList") List regularNameSortList); }mapper.xml : SELECT ID,NAME,STATUS FROM product ORDER BY FIELD #{name}调用示例: 结果是OK的: 注意细节点 : 好了,该篇就到这。 |
今日新闻 |
推荐新闻 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |