Mybatis 分页插件 3.3.0 发布

项目地址

gitosc地址:

github地址:https://github.com/pagehelper/Mybatis-PageHelper

如果你也在用Mybatis,建议尝试该分页插件,这个一定是最方便使用的分页插件。

该插件目前支持Oracle,Mysql,MariaDB,SQLite,Hsqldb,PostgreSQL六种数据库分页。

经过近4个月的完善和反馈,3.3.0版本已经稳定,该版本相对3.2.3进行了大量的重构和完善。

3.3.1bug修复 – 2014-12-07动态sql时,判断条件不会出现在ParameterMappings中,会导致获取不到属性。通常是因为判断条件中的属性没有出现在#{}中。v3.3.0

对MappedStatement对象进行缓存,,包括count查询的MappedStatement以及分页查询的MappedStatement,分页查询改为预编译查询。

独立的SqlUtil类,由于原来的PageHelper太复杂,因此将拦截器外的其他代码独立到SqlUtil中,方便查看代码和维护。SqlUtil中增加Parser接口,提供一个抽象的SimpleParser实现,不同数据库的分页代码通过继承SimpleParser实现。

特殊的Parser实现类SqlParser类,这是一个独立的java类,主要提供了更高性能的count查询sql,可以根据sql自动改为count(*)查询,自动去除不需要的order by语句,如果需要使用该类,只要把该类放到SqlUtil类相同的包下即可,同时需要引入Jar包jsqlparser-0.9.1.jar。

增强的PageInfo类,PageInfo类包含了分页几乎所有需要用到的属性值,减少了对分页逻辑的过多投入。

分页合理化,自动处理pageNum的异常情况。例如当pageNum<=0时,会设置pageNum=1,然后查询第一页。当pageNum>pages(总页数)时,自动将pageNum=pages,查询最后一页。

增加对PostgreSQL,MariaDB,SQLite支持。其中MariaDB,SQLite和Mysql分页一样。

历史更新:

如何使用:

这个版本已经实现了所有可能想到的改进,经过4个月的完善,可能已经是最后的版本了。

如果各位发现仍然可以大幅提升性能和使用性的方法,欢迎告知。

本插件目前支持6种数据库,其中Mysql,MariaDB,SQLite使用的是同一种分页。

这6种数据库中,除了SQLite没有经过完整测试外,其他的数据库全部测试通过。

由于每增加一种数据库支持,都需要安装数据库并进行完整的测试,对个人来说压力比较大,所以除非有新的开发者加入,暂时不会添加对mssql和db2的支持。如果您有兴趣,欢迎参与!

QQ: 120807756

邮箱:abel533@gmail.com

Mybatis工具群: 211286137 (Mybatis相关工具插件等等)

版权声明:本文为博主原创文章,未经博主允许不得转载。

可见内心底对旅行是多么的淡漠。

Mybatis 分页插件 3.3.0 发布

相关文章:

你感兴趣的文章:

标签云: