Mybatis 分页插件 3.3.0 发布

项目地址

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

  1. 对MappedStatement对象进行缓存,包括count查询的MappedStatement以及分页查询的MappedStatement,分页查询改为预编译查询。
  2. 独立的SqlUtil类,由于原来的PageHelper太复杂,因此将拦截器外的其他代码独立到SqlUtil中,方便查看代码和维护。SqlUtil中增加Parser接口,提供一个抽象的SimpleParser实现,不同数据库的分页代码通过继承SimpleParser实现。
  3. 特殊的Parser实现类SqlParser类,这是一个独立的java类,主要提供了更高性能的count查询sql,可以根据sql自动改为count(*)查询,自动去除不需要的order by语句,如果需要使用该类,只要把该类放到SqlUtil类相同的包下即可,同时需要引入Jar包jsqlparser-0.9.1.jar
  4. 增强的PageInfo类,PageInfo类包含了分页几乎所有需要用到的属性值,减少了对分页逻辑的过多投入。
  5. 分页合理化,自动处理pageNum的异常情况。例如当pageNum<=0时,会设置pageNum=1,然后查询第一页。当pageNum>pages(总页数)时,自动将pageNum=pages,查询最后一页。
  6. 增加对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的支持。如果您有兴趣,欢迎参与!  

时间: 2024-08-30 18:19:12

Mybatis 分页插件 3.3.0 发布的相关文章

Mybatis 分页插件 PageHelper 5.0.2 发布

Mybatis分页插件 - PageHelper PageHelper 5.0.2 发布了.如果你也在用Mybatis,建议尝试该分页插件,这一定是最方便使用的分页插件.分页插件支持任何复杂的单表.多表分页,部分特殊情况请看重要提示.想要使用分页插件?请看如何使用分页插件. 该插件目前支持以下数据库的物理分页: Oracle Mysql MariaDB SQLite Hsqldb PostgreSQL DB2 SqlServer(2005,2008) Informix H2 SqlServer2

Mybatis 分页插件 3.7.1 发布

Mybatis分页插件 - PageHelper如果你也在用Mybatis,建议尝试该分页插件,这一定是最方便使用的分页插件. 该插件目前支持以下数据库的物理分页: Oracle Mysql MariaDB SQLite Hsqldb PostgreSQL DB2 SqlServer(2005+) Informix 3.7.1更新日志: 增加Informix数据库支持,设置dialect值为informix即可 解决入参为不可变Map类型时的错误 Maven坐标 <dependency> &l

Mybatis 分页插件 3.6.3 发布

Mybatis分页插件 - PageHelper如果你也在用Mybatis,建议尝试该分页插件,这一定是最方便使用的分页插件. 该插件目前支持以下数据库的物理分页: Oracle Mysql MariaDB SQLite Hsqldb PostgreSQL DB2 SqlServer(2005+) 3.6.3更新日志: 解决了一个潜在的bug,对通用Mapper中的SqlMapper进行分页时,需要使用这个版本 3.6.2更新日志: 本次更新只是增加了一个异常提示,当错误的配置了多个分页插件时,

Mybatis 分页插件 PageHelper

Mybatis分页插件 - PageHelper 5.0.2 发布了.如果你也在用Mybatis,建议尝试该分页插件,这一定是最方便使用的分页插件. 该插件目前支持以下数据库的物理分页: Oracle Mysql MariaDB SQLite Hsqldb PostgreSQL DB2 SqlServer(2005,2008) Informix H2 SqlServer2012 Derby 使用 PageHelper 你只需要在 classpath 中包含 pagehelper-x.x.x.ja

mybatis分页插件pagehelper.PageHelper在使用全文索引查询时出错。

问题描述 mybatis分页插件pagehelper.PageHelper在使用全文索引查询时出错. 今天将sql语句进行更改后 发现的问题. 我这个语句的意思是:查询符合该关键词并且flag为1 的所有记录 sql语句测试没有什么问题,但是在使用PageHelper进行分页时发现 返回的 的集合结果信息错了 一共有两种方式错误 这个是调试信息输出的List结果:-->Page{pageNum=1, pageSize=10, startRow=0, endRow=10, total=1336,

自己动手写的mybatis分页插件(极其简单好用)_java

刚开始项目,需要用到mybatis分页,网上看了很多插件,其实实现原理基本都大同小异,但是大部分都只给了代码,注释不全,所以参考了很多篇文章(每篇文章偷一点代码,评出来自己的,半抄袭),才自己模仿着写出了一个适合自己项目的分页插件,话不多说,直接上代码,相比大部分文章,注释算很完整了 最重要的拦截器 package com.dnkx.interceptor; import java.sql.*; import java.util.HashMap; import java.util.Propert

mybatis分页插件缓存问题,求解

问题描述 有一个分页场景,前台通过ajax请求,后台用的mybatis分页插件,以下是插件配置:<propertyname="plugins"><list><beanclass="com.github.miemiedev.mybatis.paginator.OffsetLimitInterceptor"><propertyname="dialect"><beanclass="com.

MyBatis分页插件的使用——PageHelper

一,配置plugin    在myBatis的配置文件中,加入如下配置: <configuration> <!-- 配置分页插件 --> <plugins> <plugin interceptor="com.github.pagehelper.PageHelper"> <!-- 指定使用的数据库是什么 --> <property name="dialect" value="mysql&quo

Java简单实现SpringMVC+MyBatis分页插件_java

1.封装分页Page类 package com.framework.common.page.impl; import java.io.Serializable; import com.framework.common.page.IPage; /** * * * */ public abstract class BasePage implements IPage, Serializable { /** * */ private static final long serialVersionUID