https://github.com/weiecho/mybatis-plugin
根据真实使用场景对mybatis进行的扩展,实现分页、json存储、数组存储、blob存储等支持。
https://github.com/weiecho/mybatis-plugin
array blob json mybatis mybatis-plus pagination
Last synced: 5 months ago
JSON representation
根据真实使用场景对mybatis进行的扩展,实现分页、json存储、数组存储、blob存储等支持。
- Host: GitHub
- URL: https://github.com/weiecho/mybatis-plugin
- Owner: weiecho
- License: apache-2.0
- Created: 2017-08-03T12:42:03.000Z (almost 9 years ago)
- Default Branch: master
- Last Pushed: 2023-04-14T17:55:27.000Z (about 3 years ago)
- Last Synced: 2025-07-12T21:47:24.976Z (12 months ago)
- Topics: array, blob, json, mybatis, mybatis-plus, pagination
- Language: Java
- Homepage:
- Size: 27.3 KB
- Stars: 8
- Watchers: 3
- Forks: 9
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# mybatis-plugin
根据真实使用场景对mybatis进行的扩展,实现分页、json存储、数组存储、blob存储等支持。
[](https://github.com/weiecho/mybatis-plugin/releases)
[](https://mvnrepository.com/artifact/cn.weiecho/mybatis-plugin)
[](http://openjdk.java.net)
[](https://opensource.org/licenses/Apache-2.0)
### 扩展Mybatis数据类型
##### 1、ArrayTypeHandler 支持数组数据的存储和读取
bean定义格式
```java
private String[] tags;
```
mapper定义格式
```xml
```
##### 2、JsonTypeHandler 支持Json对象数据的存储和读取
bean定义格式
```java
/** 图片 如:[{imageUrl:"/1.jpg"}] **/
private Object imagesUrl;
```
mapper定义格式
```xml
```
##### 3、BlobTypeHandler 支持Blob数据的存储和读取
bean定义格式
```java
/** 文章内容 **/
private String content;
```
mapper定义格式
```xml
```
##### 4、ListTypeHandler 支持List数据的存储和读取(可以视为Array的升级版)
bean定义格式
```java
private List tags;
```
mapper定义格式
```xml
```
### 扩展Mybatis自动执行分页SQL处理
##### 1、MysqlPageInterceptor支持mysql数据的分页
```java
PageInterceptor pageInterceptor = new MysqlPageInterceptor();
sessionFactory.setPlugins(new Interceptor[]{pageInterceptor});
```
##### 2、OraclePageInterceptor支持oracle数据的分页
```java
PageInterceptor pageInterceptor = new OraclePageInterceptor();
sessionFactory.setPlugins(new Interceptor[]{pageInterceptor});
```
##### 3、PostgresqlPageInterceptor支持postgresql数据的分页
```java
PageInterceptor pageInterceptor = new PostgresqlPageInterceptor();
sessionFactory.setPlugins(new Interceptor[]{pageInterceptor});
```
ps:如果分页对应的查询语句中不存在` from `会throw异常分页查询SQL没有找到[from]关键字,from必须为小写且前后加空格。