您现在的位置是:首页 > 个人日记个人日记
spring&mybatis-分页插件使用
2019-02-07 12:52:35【个人日记】267人已围观
简介分页插件用于服务器,可以更好地展示数据,当然前端js也是可以分页的
分页插件使用
jar包为
<!-- mybatis分页插件依赖 -->
<dependency>
<groupId>com.github.pagehelper</groupId>
<artifactId>pagehelper</artifactId>
<version>5.1.8</version>
</dependency>
在spring-config.xml
配置dateSource
<!--SqlSessionFactory工厂交给spring-->
<bean id="sqlSessionFactory" name="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean">
<!--将数据源注入SqlSessionFactory-->
<property name="dataSource" ref="dateSource"></property>
<!--引入映射-->
<property name="mapperLocations" value="classpath:mapper/*.xml"></property>
<!--分页插件配置-->
<property name="plugins">
<array>
<!--分页拦截器-->
<bean class="com.github.pagehelper.PageInterceptor">
<property name="properties">
<!--配置property属性-->
<value>
<!--此处配置已经配好-->
reasonable=true
<!--offsetNum=PageNum-->
offesetAsPageNum=true
</value>
</property>
</bean>
</array>
</property>
</bean>
需要如上配置
测试中这样写
package com.huangxin.order.service;
import com.github.pagehelper.PageHelper;
import com.github.pagehelper.PageInfo;
import com.huangxin.order.mapper.UserMapper;
import com.huangxin.order.model.User;
import org.apache.ibatis.session.RowBounds;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.test.context.ContextConfiguration;
import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;
import java.util.List;
@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration(locations = "classpath:spring-config.xml")
public class UserServiceTest {
@Autowired
private UserMapper userMapper;
// @Test
// public void test() {
// User byId = userMapper.getById(1);
// System.out.println(byId);
// }
/**
* 查询数据,并且查询所有记录数
*/
@Test
public void test1() {
//配置分页插件
// pageNum时页码数
// pageSize一页多少数
// 如果pageNum<0则查第一页,如果大于最大页数则查最后一页
// 如果pageSize等于0则查所有
PageHelper.startPage(3, 0);
List<User> users = userMapper.selectAll();
for (User user : users) {
System.out.println(user);
}
}
@Test
public void test3() {
PageHelper.startPage(3, 5);
List<User> users = userMapper.selectAll();
PageInfo<User> pageInfo = new PageInfo<User>(users);
//查询所分页属性
System.out.println(pageInfo.getPageNum());//页数
System.out.println(pageInfo.getPageSize());//一页多少个
System.out.println(pageInfo.getStartRow());//开始行
System.out.println(pageInfo.getTotal());//总计
System.out.println(pageInfo.isIsFirstPage());//是否第一页
System.out.println(pageInfo.isIsLastPage());//是否最后一页
System.out.println(pageInfo.isHasNextPage());//是否有下一页
System.out.println(pageInfo.isHasPreviousPage());//是否有前一页
//数据集
System.out.println(pageInfo.getList());
for (User user : users) {
System.out.println(user);
}
}
/**
* 只查当前页的数据
*/
@Test
public void test() {
// rowBounds里的两个属性,就是pageHelper.offestPage用法相同
List<User> users = userMapper.selectByRowBounds(null, new RowBounds(0, 5));
for (User user : users) {
System.out.println(user);
}
}
}
查询页数信息使用PageInfo方法,这个方法几乎包含了所有关于页面的信息
Tags: JavaWeb
上一篇: mybatis-05-动态SQL
下一篇: mybatis-10-自动代码生成
相关文章
随机图文
评论区
2024-12-12 20:58:39
站长
没有登录功能是为了方便大家留言,但留言接口现在被恶意攻击,将关闭留言接口,如有疑问,请联系我的QQ 1538933906/同微信