https://github.com/lengpucheng/query-filter
Mybatis 查询过滤器,包含分页、字段过滤、字段排序(均支持多参数),并定义了字段映射和转换
https://github.com/lengpucheng/query-filter
filter java mybatis mybatis-plus pagehelper
Last synced: 3 months ago
JSON representation
Mybatis 查询过滤器,包含分页、字段过滤、字段排序(均支持多参数),并定义了字段映射和转换
- Host: GitHub
- URL: https://github.com/lengpucheng/query-filter
- Owner: lengpucheng
- License: mit
- Created: 2021-04-05T15:24:11.000Z (about 4 years ago)
- Default Branch: master
- Last Pushed: 2021-06-22T06:50:50.000Z (almost 4 years ago)
- Last Synced: 2023-11-19T06:28:57.915Z (over 1 year ago)
- Topics: filter, java, mybatis, mybatis-plus, pagehelper
- Language: Java
- Homepage:
- Size: 61.5 KB
- Stars: 1
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: readme.md
- License: LICENSE
Awesome Lists containing this project
README
Query-Filter 查询过滤
`Mybatis`拦截器,自动拦截并增强SQL语句## 这是什么?
这是一个无需任何设置,只需要对`DAO`层的接口添加少许标记即可完成对语句的增强,实现分页、多排序以及多条件过滤功能,并且以上功能均可以在代码中动态生成或者在运行时通过参数进行查找。## 如何使用?
只需要在你的项目中引入该组件就可以使用,具体做法是在Pom文件中加入如下依赖
```xml
cn.hll520.queryfilter
query-filter
1.0.0-release```
## 是否安全?
在每一次查询前都会对传入的条件和原始语句进行检验,判断是否包含恶意注入和其他非法条件,并对一些方言进行了优化适配(目前仅MySQL)## 使用步骤
1. 在`DAO`接口方法中加入**参数接口`ITerm`或它的子类或实现了**,列入:
```java
public Student getSTUbyId(ITerm term,Integer id);
```
其中ITerm有多个不同的子接口,分别对应不同的功能,分别如下:
+ `ITermPage` 仅分页
+ `ITermSort` 仅排序
+ `ITermFilter` 仅过滤
+ `ITermQuery` 全量功能
其分别有`build()`可以构造其实现类,同时`ITerm`接口中也包含了相应方法用来构建不同的实现
2. 调用以上接口的对应方法添加条件对象,排序和过滤都支持多个条件3. 将其实现类传入`DAO`接口即可完成对查询的增强