筛选对象操作符
内置了多种常见操作符,供筛选对象注解@Search使用, 有些会有类型要求,且如果在spring使用,需要自行确保满足spring参数解析的要求
| 操作符 | 名称 | 类型要求 | 备注 |
|---|---|---|---|
| IGNORED | 忽略 | 无 | 忽略解析,自行处理 |
| AUTO | 自动 | 无 | 不指定时的默认值,代表如果类型为String则解析为CONTAINS,否则为EQ |
| EQ | 等于 | 无 | |
| GT | 大于 | 无 | |
| GTE | 大于等于 | 无 | |
| LT | 小于 | 无 | |
| LTE | 小于等于 | 无 | |
| NE | 不等于 | 无 | |
| IS_NULL | 为空 | 无 | 只要有值即生效,即便是传false |
| IS_NOT_NULL | 不为空 | 无 | 只要有值即生效,即便是传false |
| IN | IN | 集合/数组/或','分隔的字符串(自行确保不冲突) | |
| NOT_IN | NOT IN | 集合/数组/或','分隔的字符串(自行确保不冲突) | |
| BETWEEN | 在XXX和XXX之间 | 集合/数组/或','分隔的字符串(自行确保不冲突) | 只会读取前2个条目,如果不足2个会报错,超过的部分忽略 |
| NOT_BETWEEN | 不在XXX和XXX之间 | 集合/数组/或','分隔的字符串(自行确保不冲突) | 只会读取前2个条目,如果不足2个会报错,超过的部分忽略 |
| LIKE | 模式匹配 | 无,但会使用String.valueof()读取为字符串 | |
| NOT_LIKE | !模式匹配 | 无,但会使用String.valueof()读取为字符串 | |
| START_WITH | 以XXX开头 | 无,但会使用String.valueof()读取为字符串 | |
| NOT_START_WITH | 不以XXX开头 | 无,但会使用String.valueof()读取为字符串 | |
| END_WITH | 以XXX结尾 | 无,但会使用String.valueof()读取为字符串 | 该方式一般不会使用索引 |
| NOT_END_WITH | 不以XXX结尾 | 无,但会使用String.valueof()读取为字符串 | 该方式一般不会使用索引 |
| CONTAINS | 包含XXX | 无,但会使用String.valueof()读取为字符串 | |
| NOT_CONTAINS | 不包含XXX | 无,但会使用String.valueof()读取为字符串 | |
| REGEXP_LIKE | 正则匹配 | 无,但会使用String.valueof()读取为字符串 | 支持,但强烈不建议前端传递正则表达式,建议仅在后端服务之间的调用场景使用 |