1.pom.xml依赖
<dependency>
<groupId>org.mybatis</groupId>
<artifactId>mybatis-spring</artifactId>
<version>1.3.0</version>
</dependency>
<dependency>
<groupId>org.mybatis</groupId>
<artifactId>mybatis</artifactId>
<version>3.4.1</version>
</dependency>
<dependency>
<groupId>com.github.miemiedev</groupId>
<artifactId>mybatis-paginator</artifactId>
<version>1.2.15</version>
</dependency>
2.TestUser.mapper.xml 映射文件
<resultMap id="BaseResult" type="com.ecs.mybatis.TestUser">
<id column="id" property="id" />
<result column="name" property="name" />
<result column="address" property="address" />
</resultMap>
<select id="query" resultMap="BaseResult" parameterType="map" useCache="false" >
SELECT * FROM TEST_USER where name = #{name}
</select>
3.datasource.xml spring配置
<bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean">
<property name="dataSource" ref="jdbcDataSource" />
<property name="configLocation" value="classpath:mybatis/mybatis-config.xml" />
<property name="plugins">
<list>
<bean class="com.github.miemiedev.mybatis.paginator.OffsetLimitInterceptor" >
<property name="dialectClass" value="com.github.miemiedev.mybatis.paginator.dialect.OracleDialect" />
</bean>
</list>
</property>
</bean>
4.测试
@Test
public void testquery(){
int page = 1; //页号, 从1开始
int pageSize = 3; //每页有几条数据
String sortString = "id.asc"; //如果你想排序的话逗号分隔可以排序多列
PageBounds pageBounds = new PageBounds(page, pageSize , Order.formString(sortString));
TestUser user = new TestUser();
user.setName("张三");
List<TestUser> list = userDao.query("张三",pageBounds);
PageList<TestUser> pageList = (PageList<TestUser>)list;
Paginator p = pageList.getPaginator();
//System.err.println("totalCount:"+p.getTotalCount());
//System.err.println("totalPage:"+p.getTotalPages());
System.out.println(list);
for(TestUser u:pageList){
System.out.println();
System.out.print(u.getId()+"\t");
}
}