Mybatis 分页插件pagehelper示例

pom.xml文件中,引入相关jar包

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
	xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
	<modelVersion>4.0.0</modelVersion>
	<groupId>mybatis</groupId>
	<artifactId>mybatis-demo</artifactId>
	<version>0.0.1-SNAPSHOT</version>

	<dependencies>

		<dependency>
			<groupId>org.mybatis</groupId>
			<artifactId>mybatis</artifactId>
			<version>3.2.1</version>
		</dependency>

		<dependency>
			<groupId>mysql</groupId>
			<artifactId>mysql-connector-java</artifactId>
			<version>5.1.34</version>
		</dependency>

		<dependency>
			<groupId>com.github.pagehelper</groupId>
			<artifactId>pagehelper</artifactId>
			<version>5.0.0</version>
		</dependency>

	</dependencies>

</project>

SqlMapConfig.xml中配置mybatis和pagehelper

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE configuration
PUBLIC "-//mybatis.org//DTD Config 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-config.dtd">
<configuration>

	<!-- 配置分页插件 -->
	<plugins>
		<plugin interceptor="com.github.pagehelper.PageInterceptor">
			<!-- 设置数据库类型 Oracle,Mysql,MariaDB,SQLite,Hsqldb,PostgreSQL六种数据库 -->
			<!-- <property name="dialect" value="mysql" /> -->
		</plugin>
	</plugins>
	
	
	<!-- 和Spring整合后environment配置都会被干掉 -->
	<environments default="development">
		<environment id="development">
			<!-- 使用jdbc事务管理,目前由mybatis来管理 -->
			<transactionManager type="JDBC" />
			<!-- 数据库连接池,目前由mybatis来管理 -->
			<dataSource type="POOLED">
				<property name="driver" value="com.mysql.jdbc.Driver" />
				<property name="url"
					value="jdbc:mysql://10.0.0.21:3306/newgwy" />
				<property name="username" value="gwy" />
				<property name="password" value="qqqqqq" />
			</dataSource>
		</environment>
	</environments>

	<mappers>
		<!-- Mapper代理开发方式的映射文件 -->
		<mapper resource="mapper/userMapper.xml" />
	</mappers>
</configuration>

编写UserMapper接口类

package mapper;

import java.util.List;
import java.util.Map;

public interface UserMapper {

	List<Map<String, Object>> getUserList();

}

编写xml文件

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="mapper.UserMapper">

	<select id="getUserList" resultType="map">
		select * from base_user
	</select>

</mapper>

编写测试类

package test;

import java.io.IOException;
import java.io.InputStream;
import java.util.List;
import java.util.Map;

import org.apache.ibatis.io.Resources;
import org.apache.ibatis.session.SqlSession;
import org.apache.ibatis.session.SqlSessionFactory;
import org.apache.ibatis.session.SqlSessionFactoryBuilder;

import com.github.pagehelper.PageHelper;
import com.github.pagehelper.PageInfo;

import mapper.UserMapper;

public class MyTest {

	private static SqlSessionFactory sqlSessionFactory;

	public static SqlSession getSqlSession() {
		if (sqlSessionFactory == null) {
			String resource = "SqlMapConfig.xml";
			InputStream inputStream = null;
			try {
				inputStream = Resources.getResourceAsStream(resource);
			} catch (IOException e) {
				e.printStackTrace();
			}
			sqlSessionFactory = new SqlSessionFactoryBuilder().build(inputStream);
		}
		return sqlSessionFactory.openSession();
	}

	public static void main(String[] args) {
		SqlSession sqlSession = getSqlSession();
		UserMapper userMapper = sqlSession.getMapper(UserMapper.class);
		PageHelper.startPage(1, 5);
		List<Map<String, Object>> list = userMapper.getUserList();
		PageInfo<Map<String, Object>> page = new PageInfo<Map<String, Object>>(list);
		System.out.println("总数量:" + page.getTotal());
		System.out.println("当前页查询记录:" + page.getList().size());
		System.out.println("当前页码:" + page.getPageNum());
		System.out.println("每页显示数量:" + page.getPageSize());
		System.out.println("总页:" + page.getPages());
		sqlSession.close();
	}
}

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值