- 浏览: 2242528 次
- 性别:
- 来自: 北京
文章分类
- 全部博客 (423)
- FileNet相关 (3)
- 应用服务器相关 (22)
- Java综合 (77)
- 持久层 (24)
- struts (11)
- webservice (8)
- 虚拟机 (2)
- 光盘刻录 (0)
- AD及AD集群 (1)
- JS (33)
- F5 (0)
- loadrunner8.1 (0)
- Java 反编译工具 (2)
- DataBase (62)
- ant (1)
- 操作系统 (29)
- 我的任务 (3)
- 平台架构 (16)
- 业务规则引擎 (2)
- 模板 (1)
- EJB (5)
- spring (24)
- CMMI (1)
- 项目管理 (20)
- LDAP (13)
- JMS (10)
- JSP (19)
- JBPM (2)
- web MVC框架设计思想 (2)
- 第三方支付平台 (2)
- BUG管理工具 (1)
- 垃圾站 (2)
- php (1)
- swing (1)
- 书籍 (1)
- QQ qq (2)
- 移动互联网 (26)
- 爱听的歌曲 (0)
- hadoop (4)
- 数据库 (9)
- 设计模式 (1)
- 面试经验只谈 (1)
- 大数据 (9)
- sp (1)
- 缓存数据库 (8)
- storm (2)
- taobao (2)
- 分布式,高并发,大型互联网,负载均衡 (6)
- Apache Ignite (0)
- Docker & K8S (0)
最新评论
-
wangyudong:
新版本 Wisdom RESTClienthttps://gi ...
spring rest mvc使用RestTemplate调用 -
wangyudong:
很多API doc生成工具生成API文档需要引入第三方依赖,重 ...
spring rest mvc使用RestTemplate调用 -
zhaoshijie:
cfying 写道大侠,还是加载了两次,怎么解决啊?求。QQ: ...
spring容器加载完毕做一件事情(利用ContextRefreshedEvent事件) -
xinglianxlxl:
对我有用,非常感谢
spring容器加载完毕做一件事情(利用ContextRefreshedEvent事件) -
k_caesar:
多谢,学习了
利用maven的resources、filter和profile实现不同环境使用不同配置文件
关键字:Mybatis物理分页插件(目前mybatis下最好的物理分页)
使用方式:http://my.oschina.net/miemiedev/blog/135516
项目git地址:https://github.com/miemiedev/mybatis-paginator
miemiedev还提供了一系列针对mybatis的插件,项目首页:https://github.com/miemiedev
简单示例:
在Maven中加入依赖:
<dependencies>
...
<dependency>
<groupId>com.github.miemiedev</groupId>
<artifactId>mybatis-paginator</artifactId>
<version>1.2.15</version>
</dependency>
...
</dependencies>
Mybatis配置文件添加分页插件:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE configuration
PUBLIC "-//ibatis.apache.org//DTD Config 3.0//EN"
"http://ibatis.apache.org/dtd/ibatis-3-config.dtd">
<configuration>
<plugins>
<plugin interceptor="com.github.miemiedev.mybatis.paginator.OffsetLimitInterceptor">
<property name="dialectClass" value="com.github.miemiedev.mybatis.paginator.dialect.OracleDialect"/>
</plugin>
</plugins>
</configuration>
注:如果使用mybatis-spring来整合mybatis,也可以这样配置(主要是加载分页插件)
<bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean">
<property name="configLocation" value="classpath:/mybatis/mybatis-config.xml"></property>
<property name="dataSource" ref="dataSource" />
<property name="mapperLocations">
<list>
<value>classpath*:/mybatis/common/*-*.xml</value>
<value>classpath*:/mybatis/${jdbc.dialect}/*-*.xml</value>
</list>
</property>
<property name="plugins">
<list>
<bean class="com.github.miemiedev.mybatis.paginator.OffsetLimitInterceptor">
<property name="dialectClass" value="com.github.miemiedev.mybatis.paginator.dialect.MySQLDialect"></property>
</bean>
</list>
</property>
</bean>
创建一个查询,内容可以是任何Mybatis表达式,包括foreach和if等:
<select id="findByCity" resultType="map">
select * from TEST_USER where city = #{city};
</select>
Dao中的方法或许是这样(用接口也是类似):
public List findByCity(String city, PageBounds pageBounds){
Map<String, Object> params = new HashMap<String, Object>();
params.put("city",city);
return getSqlSession().selectList("db.table.user.findByCity", params, pageBounds);
}
调用方式(分页加多列排序):
int page = 1; //页号
int pageSize = 20; //每页数据条数
String sortString = "age.asc,gender.desc";//如果你想排序的话逗号分隔可以排序多列
PageBounds pageBounds = new PageBounds(page, pageSize , Order.formString(sortString));
List list = findByCity("BeiJing",pageBounds);
//获得结果集条总数
PageList pageList = (PageList)list;
System.out.println("totalCount: " + pageList.getPaginator().getTotalCount());
PageList类是继承于ArrayList的,这样Dao中就不用为了专门分页再多写一个方法。
使用PageBounds这个对象来控制结果的输出,常用的使用方式一般都可以通过构造函数来配置。
new PageBounds();//默认构造函数不提供分页,返回ArrayList
new PageBounds(int limit);//取TOPN操作,返回ArrayList
new PageBounds(Order... order);//只排序不分页,返回ArrayList
new PageBounds(int page, int limit);//默认分页,返回PageList
new PageBounds(int page, int limit, Order... order);//分页加排序,返回PageList
new PageBounds(int page, int limit, List<Order> orders, boolean containsTotalCount);//使用containsTotalCount来决定查不查询totalCount,即返回ArrayList还是PageList
<bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean">
<property name="dataSource" ref="dataSource"/>
<property name="mapperLocations" value="classpath:config/mapper/**/*.xml"/>
<property name="plugins">
<list>
<bean class="com.github.miemiedev.mybatis.paginator.OffsetLimitInterceptor">
<property name="dialectClass" value="com.github.miemiedev.mybatis.paginator.dialect.MySQLDialect"></property>
</bean>
</list>
</property>
</bean>
楼主, nested exception is java.lang.NoClassDefFoundError: Could not initialize class com.github.miemiedev.mybatis.paginator.OffsetLimitInterceptor
根据配置,一直报错,不能初始化OffsetLimitInterceptor这个类。。求大神指导
使用方式:http://my.oschina.net/miemiedev/blog/135516
项目git地址:https://github.com/miemiedev/mybatis-paginator
miemiedev还提供了一系列针对mybatis的插件,项目首页:https://github.com/miemiedev
简单示例:
在Maven中加入依赖:
<dependencies>
...
<dependency>
<groupId>com.github.miemiedev</groupId>
<artifactId>mybatis-paginator</artifactId>
<version>1.2.15</version>
</dependency>
...
</dependencies>
Mybatis配置文件添加分页插件:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE configuration
PUBLIC "-//ibatis.apache.org//DTD Config 3.0//EN"
"http://ibatis.apache.org/dtd/ibatis-3-config.dtd">
<configuration>
<plugins>
<plugin interceptor="com.github.miemiedev.mybatis.paginator.OffsetLimitInterceptor">
<property name="dialectClass" value="com.github.miemiedev.mybatis.paginator.dialect.OracleDialect"/>
</plugin>
</plugins>
</configuration>
注:如果使用mybatis-spring来整合mybatis,也可以这样配置(主要是加载分页插件)
<bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean">
<property name="configLocation" value="classpath:/mybatis/mybatis-config.xml"></property>
<property name="dataSource" ref="dataSource" />
<property name="mapperLocations">
<list>
<value>classpath*:/mybatis/common/*-*.xml</value>
<value>classpath*:/mybatis/${jdbc.dialect}/*-*.xml</value>
</list>
</property>
<property name="plugins">
<list>
<bean class="com.github.miemiedev.mybatis.paginator.OffsetLimitInterceptor">
<property name="dialectClass" value="com.github.miemiedev.mybatis.paginator.dialect.MySQLDialect"></property>
</bean>
</list>
</property>
</bean>
创建一个查询,内容可以是任何Mybatis表达式,包括foreach和if等:
<select id="findByCity" resultType="map">
select * from TEST_USER where city = #{city};
</select>
Dao中的方法或许是这样(用接口也是类似):
public List findByCity(String city, PageBounds pageBounds){
Map<String, Object> params = new HashMap<String, Object>();
params.put("city",city);
return getSqlSession().selectList("db.table.user.findByCity", params, pageBounds);
}
调用方式(分页加多列排序):
int page = 1; //页号
int pageSize = 20; //每页数据条数
String sortString = "age.asc,gender.desc";//如果你想排序的话逗号分隔可以排序多列
PageBounds pageBounds = new PageBounds(page, pageSize , Order.formString(sortString));
List list = findByCity("BeiJing",pageBounds);
//获得结果集条总数
PageList pageList = (PageList)list;
System.out.println("totalCount: " + pageList.getPaginator().getTotalCount());
PageList类是继承于ArrayList的,这样Dao中就不用为了专门分页再多写一个方法。
使用PageBounds这个对象来控制结果的输出,常用的使用方式一般都可以通过构造函数来配置。
new PageBounds();//默认构造函数不提供分页,返回ArrayList
new PageBounds(int limit);//取TOPN操作,返回ArrayList
new PageBounds(Order... order);//只排序不分页,返回ArrayList
new PageBounds(int page, int limit);//默认分页,返回PageList
new PageBounds(int page, int limit, Order... order);//分页加排序,返回PageList
new PageBounds(int page, int limit, List<Order> orders, boolean containsTotalCount);//使用containsTotalCount来决定查不查询totalCount,即返回ArrayList还是PageList
评论
3 楼
abcd2745
2016-03-25
<bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean">
<property name="dataSource" ref="dataSource"/>
<property name="mapperLocations" value="classpath:config/mapper/**/*.xml"/>
<property name="plugins">
<list>
<bean class="com.github.miemiedev.mybatis.paginator.OffsetLimitInterceptor">
<property name="dialectClass" value="com.github.miemiedev.mybatis.paginator.dialect.MySQLDialect"></property>
</bean>
</list>
</property>
</bean>
楼主, nested exception is java.lang.NoClassDefFoundError: Could not initialize class com.github.miemiedev.mybatis.paginator.OffsetLimitInterceptor
根据配置,一直报错,不能初始化OffsetLimitInterceptor这个类。。求大神指导
2 楼
voven2000
2016-03-15
dao代码在哪里?
1 楼
yuchao86
2015-12-04
你好,用接口怎么实现呢?
发表评论
-
数据库连接池选型
2014-12-04 18:32 1125关键字:数据库连接池选型 proxool(与spring不太 ... -
atomikos(com.atomikos.icatch.SysException: Error in init(): Log already in use)
2014-10-15 13:12 8444关键字:atomikos(com.atomikos.icatc ... -
mybatis级联查询的两种配置方式(很多人问我,这里给出答案)
2014-08-11 23:39 5014关键字:mybatis级联查询的两种方式 第一种配置方式: ... -
Mybatis 打印SQL(sql)
2014-02-28 13:26 2788关键字:Mybatis 打印SQL(sql) ####### ... -
ibatis泛型dao(spring SqlMapClientTemplate支持)
2011-12-04 21:11 3679关键字:ibatis泛型dao(spring SqlMapC ... -
跟踪 C3p0 连接池连接泄漏之参数优化与日志分析
2011-09-13 11:48 11252<property name="un ... -
Hibernate注释大全收藏
2011-06-22 15:00 876关键字:Hibernate注释大全收藏 声明实体Bean ... -
hibernate调用MySql存储过程
2011-06-21 09:38 2561关键字:hibernate调用MySql存储过程 Java ... -
hibernate hql where语句拼接工具类
2011-05-27 01:18 3504附件是:hibernate hql where语句拼接工具类 ... -
Hibernate Mysql注解设置自动增长列
2011-05-08 05:14 10047@Entity @Table(name = "T_P ... -
hibernate二级缓存(包括注解方式)
2011-04-11 20:33 12231二级缓存配置(spring+hibernate) 说明:本人 ... -
Hibernate泛型DAO(结合spring模板支持)
2011-03-31 19:49 961详细介绍 Hibernate 泛 ... -
hibernate注解
2011-03-31 15:35 57附件是hibernate注解相关资料。 -
Eclipse中配置及使用iBATIS插件—ibator
2011-03-17 18:37 3665ibator,大快人心,以下对其配置及使用做个简单介绍. 一 ... -
Hibernate帮助文档及API
2011-03-05 22:16 2070附件是:Hibernate帮助文档及API,欢迎下载学习。 -
如何配置hibernate二级缓存呢?
2011-01-31 17:16 922配置二级缓存网站推荐: http://www.ineeke. ... -
String之HibernateTemplate经典查询
2010-12-08 15:49 1900一、find(String queryString); ... -
Hibernate之Criteria使用经典
2010-12-08 14:32 973创建一个Criteria 实例 org.hibernate. ... -
SchemaExport工具实战(hibernate)
2010-12-05 15:30 1122SchemaExport工具实战 通常我们使用生成数据库架构 ... -
Hibernate条件查询(DetachedCriteria)
2010-11-21 01:28 1744Hibernate条件查询(DetachedCriteria) ...
相关推荐
mybatis分页插件,非入侵式,支持mysql,orcale,sqlserver,支持其他数据库拓展
自己写的一个mybatis物理分页插件,支持mysql,oracle,db2,ms sql server2005-2008和ms sql server2012, 由于sql server2005的分页比较独特, 暂时只支持单order by 的情况, 多个order by会报错 , mysql,oracle,db2完美...
<... PUBLIC "-//mybatis.org//DTD Config 3.0//EN" "http://mybatis.org/dtd/mybatis-3-config.dtd"> <!-- value="mssql|oracle|mysql|db2" --> </configuration>
NULL 博文链接:https://wang-ping001.iteye.com/blog/1918031
mybatis 分页插件 PageHelper5.0.0 mybatis 最简单的方式实现物理分页
该插件目前支持以下数据库的物理分页: 1、Oracle 2、Mysql 3、MariaDB 4、SQLite 5、Hsqldb 6、PostgreSQL 7、DB2 8、SqlServer(2005+) 9、Informix 10、H2 11、SqlServer2012 12、Derby 13、Phoenix 14、达梦...
com.github.pagehelper.PageHelper是一款好用的开源免费的Mybatis第三方物理分页插件。
本篇文章主要介绍了SSM使用mybatis分页插件pagehepler实现分页示例,使用分页插件的原因,简化了sql代码的写法,实现较好的物理分页,非常具有实用价值,需要的朋友可以参考下
myeclipse 2013 插件MyBatis Generator 1.3.2生成的代码缺少分页,使用麻烦。修改了源码org.mybatis.generator.core_1.3.2.201207161521.jar包,增加了PaginationPlugin和SelectOneByExamplePlugin两个扩展插件。...
mybatis自动映射、sql构建、物理分页的插件 此项目演示了mybatis-spring-sqlbuilder2.1.2.jar插件的使用 对此插件有兴趣的可以通过邮箱karkaw@163.com和我交流
#Mybatis分页插件 - PageHelper 如果你也在用Mybatis,建议尝试该分页插件,这一定是最方便使用的分页插件。 分页插件支持任何复杂的单表、多表分页,部分特殊情况请看。 想要使用分页插件?请看。 ##物理分页 该...
MyBatis分页-PageHelper如果您使用的是MyBatis,建议尝试使用此分页插件。 这必须是最方便的分页插件。 PageHelper支持任何复杂的单表,多表查询。 关于某些特殊情况,请参阅。 要使用PageHelper吗? 请查看 。新的...
mybatis分页共享,本资源基于插件机制,通过拦截StatementHandler重写sql语句,实现数据库的物理分页。基于mybatis3.2.2开发,使用时注意版本。
这是已经修改过的分页插件,网上下载的有bug,我的已经修改过了,请放心使用
完美整合spingMVC+mybatis+hessian+activeMQ+redis,引入mybatis物理分页插件,模拟cookie登陆的工具类。
Mybaits的拦截器实现Interceptor接口。通过拦截StatementHandler的prepare方法的分页插件类,代码实现oralce和mysql数据库。只有加以修改可以实现任意数据库。
该插件目前支持以下数据库的物理分页: Oracle Mysql MariaDB SQLite Hsqldb PostgreSQL DB2 SqlServer(2005+) Informix
Android+Java后端(Springboot+Mybatis)小商店项目源码+数据库+项目说明.zip 主要实现一个商城的下单、购物车、支付等基本功能,熟悉后端的开发过程,因为自己做...PageHelper MyBatis物理分页插件 Redis 分布式缓存
Mybatis的分页功能很弱,它是基于内存的分页(查出所有记录再按偏移量和limit取结果),...本资源基于插件机制,通过拦截StatementHandler重写sql语句,实现数据库的物理分页。基于mybatis3.2.2开发,使用时注意版本。