6.3.1.1 **filters说明**
Sqltoy的查询语句是以#\[and t.name=:name\]作为特殊标记,当:name变量的值为null,则该片段会被清除掉。所以filter的目的大多数是辅助完成变量的值是否为null的处理。#\[\]支持任意层嵌套,如:#\[and (name=:name #\[or type=:type\])\]
6.3.1.1.1 **eq等于特定值转null**
<table>
<tr>
<td> 功能介绍 </td>
<td colspan="2"> 参数值等于某些值,则转为null </td>
</tr>
<tr>
<td > 属性名称 </td>
<td> 是否可选 </td>
<td> 说明 </td>
</tr>
<tr>
<td > params </td>
<td> 必选项 </td>
<td> 指定sql中的参数名称,可以多个用逗号分隔 </td>
</tr>
<tr>
<td > value </td>
<td> 必选项 </td>
<td>
如value=”-1” 时转为null,如页面上选择全部时(对应的值为-1):
![](images/69ca2f4d102ecdd84324760040c96791ef290cca.png)
</td>
</tr>
</table>
6.3.1.1.2 **neq不等于某些值则转为null**
<table>
<tr>
<td> 功能介绍 </td>
<td colspan="2"> 参数不等于某些值,则转为null,跟eq相反 </td>
</tr>
<tr>
<td > 属性名称 </td>
<td> 是否可选 </td>
<td> 说明 </td>
</tr>
<tr>
<td > params </td>
<td> 必选项 </td>
<td> 指定sql中的参数名称,可以多个用逗号分隔 </td>
</tr>
<tr>
<td > value </td>
<td> 必选项 </td>
<td>
如value=”-1” 时转为null,如页面上选择全部时(对应的值为-1):
![](images/69ca2f4d102ecdd84324760040c96791ef290cca.png)
</td>
</tr>
</table>
6.3.1.1.3 **to-date 参数类型转换**
<table>
<tr>
<td> 功能介绍 </td>
<td colspan="2"> 参数转换成日期类型 </td>
</tr>
<tr>
<td > 属性名称 </td>
<td> 是否可选 </td>
<td> 说明 </td>
</tr>
<tr>
<td > params </td>
<td> 必选项 </td>
<td> 需要转换日期类型的参数名称 </td>
</tr>
<tr>
<td > format </td>
<td> 可选项 </td>
<td>
日期格式,默认会根据传递的参数值进行自动适配。另外有几个特殊格式:<br>
1、 first-day:表示参数值当月的第一天<br>
2、 first-year-day:表示参数日期值当年的第一天<br>
3、 last-day:参数月的最后一天<br>
4、 last-year-day:参数年的最后一天<br>
特殊的日期格式便于构造sql查询条件,否则需要通过sql函数进行处理
</td>
</tr>
<tr>
<td >
increment-days
</td>
<td> 可选项(已废弃,但兼容) </td>
<td> 加减日期值,数字类型,increment-days=“3”表示之前计算的日期结果加3天。increment-days=“-3”:表示减3天 </td>
</tr>
<tr>
<td > increment-time </td>
<td> 可选项 </td>
<td> 加减日期值,数字类型,increment-time=“3” 结合increment-unit进行日期加减计算 </td>
</tr>
<tr>
<td > Increment-unit </td>
<td> 可选项 </td>
<td> 日期加减的单位,包含:days、hours、minutes、seconds、milliseconds;默认值为:days </td>
</tr>
</table>
6.3.1.1.4 **to-number转数字类型**
<table>
<tr>
<td> 功能介绍 </td>
<td colspan="2"> 字符串转数字格式 </td>
</tr>
<tr>
<td > 属性名称 </td>
<td> 是否可选 </td>
<td> 说明 </td>
</tr>
<tr>
<td > params </td>
<td> 必选项 </td>
<td> 需要转换成数字的参数名称 </td>
</tr>
<tr>
<td > data-type </td>
<td> 必选项 </td>
<td> Decimal \\ integer \\ long \\ float \\ double
</td>
</tr>
</table>
6.3.1.1.5 **primary决定性参数**
<table>
<tr>
<td> 功能介绍 </td>
<td colspan="2"> 当某些参数不为null时其他参数条件不起作用,比如:查询条件输入一个订单号,则表示进行精准查询,其他的查询条件不做依据 </td>
</tr>
<tr>
<td > 属性名称 </td>
<td> 是否可选 </td>
<td> 说明 </td>
</tr>
<tr>
<td > params </td>
<td> 必选项 </td>
<td> 决定性参数名称 </td>
</tr>
<tr>
<td > excludes </td>
<td> 可选项 </td>
<td> 保留的特定参数 </td>
</tr>
</table>
6.3.1.1.6 **cache-arg 缓存转化名称为key代码集合**
功能介绍
利用缓存将查询条件的名称(含不完整名称)匹配成具体的key集合,如:检索企业信息输入:中国移动,到缓存里面自动检索成名字中含中国移动字符的企业代码,然后参与精准查询
使用概率
极低
属性名称
是否可选
说明
param
必选项
需要转换的条件参数名称,比如:productName
cache-name
必选项
缓存名称
cache-type
可选项
如带分类的缓存,比如数据字典,则需要提供具体的分类代码
alias-name
可选项
由名称参数匹配到key集合数组时,对应数组的响应名称,用于后续sql中作为条件参数
productCode in (:prodCodes)
如果不设置alias-name,就会用数组值覆盖productName对应的值,从而导致productName参数失去了原本的意义
cache-mapping-indexes
可选项
默认是1,表示对缓存中哪几列数据进行匹配,一般缓存结构:key、name、aliasName、desc 等
所以可以定义,1和2多列
cache-mapping-max
可选项
默认500,表示默认最大匹配key集合数量,最大不能超过1000(in 条件限制问题)
6.3.1.1.7 **to-in-args**
功能介绍
将数组参数转为一个逗号分隔的字符串
使用概率
极低
属性名称
是否可选
说明
params
必选项
需要转换的条件参数名称
single-quote
可选项
是否增加单引号
6.3.1.1.8 **l-like 左边补%号**
功能介绍
针对like条件参数当值不为null或空白时在其左边补%
使用概率
极低
属性名称
是否可选
说明
params
必选项
需要转换的条件参数名称
6.3.1.1.9 **r-like右边补%号**
功能介绍
针对like条件参数当值不为null或空白时在其右边补%
使用概率
极低
属性名称
是否可选
说明
params
必选项
需要转换的条件参数名称
6.3.1.1.10 **lt、lte、gt、gle比较参数**
功能介绍
小于等于、小于、大于等于、大于等比较,符合条件参数值置为null
属性名称
是否可选
说明
params
必选项
参与比较的参数
value
必选项
比较的值
6.3.1.1.11 **between 在一个范围之间,则转为null**
功能介绍
参数的值在一个范围内时,将值转为null
属性名称
是否可选
说明
params
必选项
指定sql中的参数名称,可以多个用逗号分隔
start-value
必选项
开始值(数字或日期)
end-value
必选项
截止值(数字或日期)
6.3.1.1.12 **blank空白转null**
功能介绍
参数对应的值如果为空白则设置为null
属性名称
是否可选
说明
params
必选项
指定sql中的参数名称,可以多个用逗号分隔,可以用\*表示全部参数
excludes
可选项
当params=“\*”时指定额外排除的参数
6.3.1.1.13 **replace 替换操作**
功能介绍
一般对字符串参数进行字符替换
属性名称
是否可选
说明
params
必选项
需要进行字符串替换的参数名称,多个用逗号分隔
regex
必选项
替换的表达式(正则表达式或直接字符)
Value
必选项
用来替换的字符串,等同于replace-value
is-first
可选项(默认为false)
true:只替换首个匹配的字符,false:全部替换
6.3.1.1.14 **split字符串切割成数组**
功能介绍
将参数的字符串值切割成一个数组,用于in条件场景下的转换
属性名称
是否可选
说明
params
必选项
指定sql中的参数名称,可以多个用逗号分隔,可以用\*表示全部参数
data-type
可选项目
默认
split-sign
可选项
默认为逗号
6.3.1.1.15 **exclusive排它互斥性参数**
功能介绍
当某些参数不为null时,将其他一些参数设置为null,
即某些参数有效时,其他一些参数则设置为无效
属性名称
是否可选
说明
param
必选项
排斥性参数名称(单个)
compare-type
可选项
排斥参数跟具体的值对比的方式:
Eq\\neq\\gt\\gte\\lt\\lte\\between等
compare-values
可选项
Param参数值对比的值,当compare-type为between时,compare-values=“value1,value2”形式
set-params
(exclusive-params)
必选项
排斥的参数,即需要重置值的参数名称
set-value
可选项
set-params参数设置的值,默认为null
- 1.简介
- 开发历程
- 技术架构
- 问答了解
- 版本历史
- update-5.1.4、4.18.43
- update-5.1.2
- 早期历史
- 5.1.15.rc1
- 2.快速使用
- 示例与环境
- quickvo工具使用
- 用法说明
- 关键注意事项
- 严格VO(DTO)和POJO(entity)分层
- 3.教程
- spring项目搭建
- Toy-ORM 配置
- 详细配置参数
- 缓存功能
- 缓存配置、缓存扩展
- 扩展缓存框架配置
- 缓存翻译
- 其他缓存应用场景
- 公共功能
- 表(对象)关联
- 公共字段赋值
- 链式操作
- DTO与POJO互转
- 对象操作
- save + update
- delete + trunk
- load加载数据
- 唯一验证
- 树形数据
- sharding分库分表
- SQL操作
- sql文件规则
- filters说明
- 缓存翻译
- 分库分表
- 汇总、环比
- 行列转换
- 数据脱敏
- 格式化-数字日期
- sqlToy的sql查询基本规则
- Sql查询功能
- load操作
- get操作
- find操作
- 分页查询
- 并行查询
- execute操作
- executeSql
- executeStore
- 数据库特性
- 主键策略
- JSON等类型扩展支持
- 跨库说明--异种库兼容
- 数据库保留字处理
- 多源-多库-异库
- 多数据源
- Mongodb支持
- ElasticSearch支持
- 高级扩展
- 补充-if+fast+blank+value+loop
- 高级功能
- 完美sql
- 快速分页
- 缓存翻译
- 防止sql注入
- 字段加解密
- 扩展集成