|
@@ -0,0 +1,225 @@
|
|
|
+## 数据结构
|
|
|
+
|
|
|
+```
|
|
|
+{
|
|
|
+ "page": 1,
|
|
|
+ "size": 20,
|
|
|
+ "onlyCount": false,
|
|
|
+ "criteria": {
|
|
|
+ "age": {
|
|
|
+ "$gt": 21
|
|
|
+ }
|
|
|
+ },
|
|
|
+ "orders": [
|
|
|
+ {
|
|
|
+ "column": "name",
|
|
|
+ "asc": false
|
|
|
+ }
|
|
|
+ ],
|
|
|
+ "withColumns": [ "roles" ]
|
|
|
+}
|
|
|
+```
|
|
|
+
|
|
|
+参数说明
|
|
|
+
|
|
|
+| 字段 | | 说明 |
|
|
|
+| ----------- | -------- | ------------------------- |
|
|
|
+| page | | 分页页码,从1开始 |
|
|
|
+| size | | 分页大小 |
|
|
|
+| onlyCount | | 是否只统计数量,默认false |
|
|
|
+| criteria | | 查询条件 |
|
|
|
+| orders | object[] | 排序参数,支持多个字段排序 |
|
|
|
+| | column | 排序字段 |
|
|
|
+| | asc | 是否升序,默认true |
|
|
|
+| withColumns | | 额外返回的扩展字段清单 |
|
|
|
+| | | |
|
|
|
+
|
|
|
+## criteria说明
|
|
|
+
|
|
|
+#### 符号说明
|
|
|
+
|
|
|
+| 符号 | 说明 |
|
|
|
+| ------------------------ | ------------------------------ |
|
|
|
+| $ne | dayu |
|
|
|
+| \$gt, \$gte, \$lt, \$lte | 大于, 大于等于, 小于, 小于等于 |
|
|
|
+| \$in | 范围查询 |
|
|
|
+| \$like, \$notlike | 模糊匹配 不匹配 |
|
|
|
+| \$null | 是否为空 |
|
|
|
+| | |
|
|
|
+| | |
|
|
|
+
|
|
|
+以下实例针对的实体类型user如下
|
|
|
+
|
|
|
+| 字段 | 类型 |
|
|
|
+| ---- | ------ |
|
|
|
+| id | int |
|
|
|
+| name | string |
|
|
|
+| age | int |
|
|
|
+
|
|
|
+#### 相等
|
|
|
+
|
|
|
+查询name为zhangsan的数据
|
|
|
+
|
|
|
+```
|
|
|
+{
|
|
|
+ "criteria": {
|
|
|
+ "name": "zhangsan"
|
|
|
+ }
|
|
|
+}
|
|
|
+```
|
|
|
+
|
|
|
+#### 不等于
|
|
|
+
|
|
|
+查询name不等于张三的数据
|
|
|
+
|
|
|
+```
|
|
|
+{
|
|
|
+ "criteria": {
|
|
|
+ "name": {
|
|
|
+ "$ne": "zhangsan"
|
|
|
+ }
|
|
|
+ }
|
|
|
+}
|
|
|
+```
|
|
|
+
|
|
|
+#### 是否为空
|
|
|
+
|
|
|
+查询name不为空的数据
|
|
|
+
|
|
|
+```
|
|
|
+{
|
|
|
+ "criteria": {
|
|
|
+ "name": {
|
|
|
+ "$null": false
|
|
|
+ }
|
|
|
+ }
|
|
|
+}
|
|
|
+```
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+#### 比较大小
|
|
|
+
|
|
|
+查询age大于25小于35的数据
|
|
|
+
|
|
|
+```
|
|
|
+{
|
|
|
+ "criteria": {
|
|
|
+ "age": {
|
|
|
+ "$gt": 25,
|
|
|
+ "$lt": 35
|
|
|
+ }
|
|
|
+ }
|
|
|
+}
|
|
|
+```
|
|
|
+
|
|
|
+#### in查询
|
|
|
+
|
|
|
+查询name为zhangsan、lisi的数据
|
|
|
+
|
|
|
+```
|
|
|
+{
|
|
|
+ "criteria": {
|
|
|
+ "name": {
|
|
|
+ "$in": [ "zhangsan", "lisi" ]
|
|
|
+ }
|
|
|
+ }
|
|
|
+}
|
|
|
+```
|
|
|
+
|
|
|
+也可直接写成
|
|
|
+
|
|
|
+```
|
|
|
+{
|
|
|
+ "criteria": {
|
|
|
+ "name": [ "zhangsan", "lisi" ]
|
|
|
+ }
|
|
|
+}
|
|
|
+```
|
|
|
+
|
|
|
+#### 模糊查询
|
|
|
+
|
|
|
+查询name以zh开头的数据
|
|
|
+
|
|
|
+```
|
|
|
+{
|
|
|
+ "criteria": {
|
|
|
+ "name": {
|
|
|
+ "$like": "zh%"
|
|
|
+ }
|
|
|
+ }
|
|
|
+}
|
|
|
+```
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+## withColumns说明
|
|
|
+
|
|
|
+通过withColumns可以控制返回的数据内容,可以一定程度上提供服务性能.
|
|
|
+
|
|
|
+withColumns粒度比较粗,一般由服务提供者决定哪些字段可以通过withColumns来控制.
|
|
|
+
|
|
|
+假设数据如下
|
|
|
+
|
|
|
+```
|
|
|
+{
|
|
|
+ "name": "zhangsan",
|
|
|
+ "age": 22,
|
|
|
+ "roles": [ "administrator", "manager" ]
|
|
|
+}
|
|
|
+```
|
|
|
+
|
|
|
+将roles设计为可选字段,由withColumns来管理,如果查询参数中有withColumns并包含roles,则返回roles字段
|
|
|
+
|
|
|
+默认查询和返回的数据内容为
|
|
|
+
|
|
|
+```
|
|
|
+{
|
|
|
+ "criteria": {
|
|
|
+ "name": "zhangsan"
|
|
|
+ }
|
|
|
+}
|
|
|
+```
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+```
|
|
|
+{
|
|
|
+ "name": "zhangsan",
|
|
|
+ "age": 22
|
|
|
+}
|
|
|
+```
|
|
|
+
|
|
|
+包含withColumns时的查询参数和返回的数据
|
|
|
+
|
|
|
+```
|
|
|
+{
|
|
|
+ "criteria": {
|
|
|
+ "name": "zhangsan"
|
|
|
+ },
|
|
|
+ "withColumns": [ "roles" ]
|
|
|
+}
|
|
|
+```
|
|
|
+
|
|
|
+```
|
|
|
+{
|
|
|
+ "name": "zhangsan",
|
|
|
+ "age": 22,
|
|
|
+ "roles": [ "administrator", "manager" ]
|
|
|
+}
|
|
|
+```
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|