佛山的网站建设,企业做营销型网站,iis7 asp网站 503,购物网站首页源码前言 与本文无关 我进去了 ....... 正文 今天要讲些什么#xff1f; 其实很简单#xff0c;就是查询数据的时候#xff0c;想根据自己指定的字段的自定义顺序#xff0c;做排序查询数据。 本篇文章会讲到的几个点 #xff1a;
1. 单纯sql 怎么实现 排序2. …前言 与本文无关 我进去了 ....... 正文 今天要讲些什么 其实很简单就是查询数据的时候想根据自己指定的字段的自定义顺序做排序查询数据。 本篇文章会讲到的几个点
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 {ListProduct queryProductList(Param(nameSortList) ListString regularNameSortList);}
mapper.xml !--查询--select idqueryProductList resultMapBaseResultMapSELECTID,NAME,STATUSFROM productif testnameSortList ! null and nameSortList.size 0 ORDER BY FIELDforeach collectionnameSortList itemname open(NAME, separator, close)#{name}/foreach/if/select 调用示例 结果是OK的 注意细节点 好了该篇就到这。