SqlHelper发布——比你期望的还要多的多(例如比MyBatis-Pagehelper性能更高)

SqlHelper发布——比Mybatis-PageHelper性能更高

起源

前段时间开启了一个新的项目,在选择分页插件时,发现github上很流行的一个是pagehelper,在百度上搜索了一下,使用量。由于项目紧急,所先拿来用了。但是我知道它并不适合我们。原因是它有如下几个缺点:

1) 对国产数据库支持不足

2) 扩展不方便

3) 配置复杂

4) 性能底下 (不要喷我, 因为它不是用的占位符?,发挥不了PrepareSatement的优势)

5) 只支持MyBatis

 

鉴于它的这些不足,我就趁闲暇时间新开发了一款解决上述缺点的分页工具,它已经在公司里的两个项目得到了验证。但它不仅仅是个分页工具那么简单,目前支持的特性有Pagination、UrlParser,未来会支持更多特性。

 

关键特性

支持MyBatis, JFinal,Ebean

支持 90+ 种数据库, 支持列表参见 here. 包含了几乎所有的国产数据库:

TiDB (北京平凯星辰科技))

Doris (Apache Doris,百度研发)

MaxCompute (阿里巴巴)

K-DB (浪潮)

GBase (南大通用)

DM (达梦)

OSCAR (神州通用)

HighGo (瀚高)

KingBase (金仓)

OpenBase (东软)

SequoiaDB (巨杉)

                   如果你想知道所有的数据库排名的话,你可以在这里找到: DB Engines.

同一个应用中支持多种数据库

不需要配置dialect,可以自动的获取。

比 Mybatis-PageHelper性能更高, 原因是limit , offset等参数使用 PrepareStatement placeholder '?' , Mybatis是硬编码拼接的

通过Java SPI的方式支持了插件

支持 spring boot 1.x , 2.x

支持 mybatis 3.x

支持 JDK6+

 

Vs Pagehelper

metric

 

mybatis-pagehelper

 

sqlhelper

 

databases

 

13

 

90+

 

multiple databases in runtime

 

 

 

auto detect dialect

 

 

 

plugin

 

 

 

PrepareStatement with '?'

 

X

 

 

mybatis

 

3.x

 

3.x

 

spring boot

 

1.x, 2.x

 

1.x, 2.x

 

JDK

 

1.6+

 

1.6+

 

jFinal

 

X

 

 

国产数据库

 

X

 

√ (参见上述列表)

 

 

 

安装

可以在多种场景下使用,支持MyBatis,JFinal,EBean等。先就说说MyBatis下如何使用:

 

1)  与Mybatis + SpringBoot结合使用

此应用环境下,只需导入下列包即可:

<dependency> <groupId>com.github.fangjinuo.sqlhelper</groupId> <artifactId>sqlhelper-mybatis-spring-boot-autoconfigure</artifactId> <version>${sqlhelper.version}</version> </dependency> <dependency> <groupId>com.github.fangjinuo.sqlhelper</groupId> <artifactId>sqlhelper-mybatis-spring-boot-starter</artifactId> <version>${sqlhelper.version}</version> </dependency>

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/wpwddj.html