Mybatis 分页插件 3.3.0 发布
2016-03-17 10:59
351 查看
项目地址
gitosc地址:http://git.oschina.net/free/Mybatis_PageHelper
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中,会导致获取不到属性。通常是因为判断条件中的属性没有出现在
对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分页一样。
历史更新:http://git.oschina.net/free/Mybatis_PageHelper/wikis/Changelog
如何使用:http://git.oschina.net/free/Mybatis_PageHelper/wikis/HowToUse
这个版本已经实现了所有可能想到的改进,经过4个月的完善,可能已经是最后的版本了。
如果各位发现仍然可以大幅提升性能和使用性的方法,欢迎告知。
本插件目前支持6种数据库,其中Mysql,MariaDB,SQLite使用的是同一种分页。
这6种数据库中,除了SQLite没有经过完整测试外,其他的数据库全部测试通过。
由于每增加一种数据库支持,都需要安装数据库并进行完整的测试,对个人来说压力比较大,所以除非有新的开发者加入,暂时不会添加对mssql和db2的支持。如果您有兴趣,欢迎参与!
gitosc地址:http://git.oschina.net/free/Mybatis_PageHelper
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分页一样。
历史更新:http://git.oschina.net/free/Mybatis_PageHelper/wikis/Changelog
如何使用:http://git.oschina.net/free/Mybatis_PageHelper/wikis/HowToUse
这个版本已经实现了所有可能想到的改进,经过4个月的完善,可能已经是最后的版本了。
如果各位发现仍然可以大幅提升性能和使用性的方法,欢迎告知。
本插件目前支持6种数据库,其中Mysql,MariaDB,SQLite使用的是同一种分页。
这6种数据库中,除了SQLite没有经过完整测试外,其他的数据库全部测试通过。
由于每增加一种数据库支持,都需要安装数据库并进行完整的测试,对个人来说压力比较大,所以除非有新的开发者加入,暂时不会添加对mssql和db2的支持。如果您有兴趣,欢迎参与!
相关文章推荐
- Java8中的简易并发
- 【转载】Overlapped I/O模型分析
- Scrapy - 爬虫框架
- 毕业后的第一件事一定是买一台高配mac
- JAVA_WEB学习经验总结
- Boost::Asio::Error的用法浅析
- C++实验2-两数差的绝对值
- JAVA学习 之 异常处理
- PHPStorm IDE 快捷键(MAC)
- js ==与===区别(两个等号与三个等号)(转载)
- 购物车多店铺列表数组处理
- python子进程模块subprocess详解与应用实例 之一
- Java顶尖程序员都看过的11本书
- 五猴分桃
- 关于Object.clone克隆方法的测试
- 各种排序算法的稳定性和时间复杂度小结
- mysqldump参数详细说明
- HTTPS的七个误解
- gvim配置文件for C/C++
- Handler、Message、MessageQueue随笔