集成分页插件就比较简单了,我是用的Github上某位大神写的分页插件。具体使用在这先记录下。
添加依赖
<!--分页插件-->
<dependency>
<groupId>com.github.pagehelper</groupId>
<artifactId>pagehelper</artifactId>
<version>4.1.1</version>
</dependency>
注:官网已经更新到5.x版本,更新了好多功能,由于分页插件 5.0 版本和 4.x 实现完全不同,这儿我还是用刚开始用的那个版本进行记录,不过建议各位同学去用最新版本(链接在上边哈)。
sb程序入口类Applaction.java
package com.blog;
import com.github.pagehelper.PageHelper;
import org.apache.ibatis.plugin.Interceptor;
import org.apache.ibatis.session.SqlSessionFactory;
import org.apache.tomcat.jdbc.pool.DataSource;
import org.mybatis.spring.SqlSessionFactoryBean;
import org.mybatis.spring.annotation.MapperScan;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.EnableAutoConfiguration;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.ComponentScan;
import org.springframework.context.annotation.EnableAspectJAutoProxy;
import org.springframework.core.io.support.PathMatchingResourcePatternResolver;
import org.springframework.transaction.annotation.EnableTransactionManagement;
import java.util.Properties;
/**
* blog
* Created by yadong.zhang on com.blog.application
* User:yadong.zhang
* Date:2016/10/20
* Time:18:15
*/
/**
* 1).@SpringBootApplication标注启动配置入口,run()方法会创建一个Spring应用上下文(Application Context)。
* SpringBoot通过启动内嵌的Servlet容器(默认tomcat)用来处理Http请求。
* 2).@RestController是特殊的Controller,他的返回值直接作为Http Response的Body部分返回给浏览器
* 3).Spring WebMvc框架会将Servlet容器里收到的Http请求根据路径分发到对应的@Controller下进行处理。
*/
@SpringBootApplication
@EnableAspectJAutoProxy
@EnableAutoConfiguration
@ComponentScan
//指定扫描的mapper接口所在的包
@MapperScan("com.blog.mapper")
//启动注解事务管理
@EnableTransactionManagement
//@RestController
public class Applaction {
// private static final String MAPPER_SCAN_BASE_PACKAGE = "com.blog.mapper";
private static final String TYPE_ALIASES_PACKAGE = "com.blog.model";
private static final String MAPPER_LOCATION = "classpath:/mybatis/*.xml";
@Bean
@Autowired
public SqlSessionFactory sqlSessionFactory(DataSource dataSource) throws Exception {
final SqlSessionFactoryBean sqlSessionFactoryBean = new SqlSessionFactoryBean();
sqlSessionFactoryBean.setDataSource(dataSource);
// 分页插件
PageHelper pageHelper = new PageHelper();
Properties properties = new Properties();
properties.setProperty("reasonable", "true");
properties.setProperty("supportMethodsArguments", "true");
properties.setProperty("returnPageInfo", "check");
properties.setProperty("params", "count=countSql");
pageHelper.setProperties(properties);
//添加插件
sqlSessionFactoryBean.setPlugins(new Interceptor[]{pageHelper});
//mybatis.typeAliasesPackage:指定domain类的基包,即指定其在*Mapper.xml文件中可以使用简名来代替全类名(看后边的UserMapper.xml介绍)
sqlSessionFactoryBean.setTypeAliasesPackage(TYPE_ALIASES_PACKAGE);
/*
mybatis.mapperLocations:指定*Mapper.xml的位置
如果不加会报org.apache.ibatis.binding.BindingException: Invalid bound statement (not found): com.blog.mapper.MessageMapper.findMessageInfo异常
因为找不到*Mapper.xml,也就无法映射mapper中的接口方法。
*/
sqlSessionFactoryBean.setMapperLocations(new PathMatchingResourcePatternResolver().getResources(MAPPER_LOCATION));
return sqlSessionFactoryBean.getObject();
}
public static void main(String[] args) {
SpringApplication.run(Applaction.class, args);
}
}
分页插件使用测试
@RequestMapping("/message/{currentPage}")
public String message(@PathVariable("currentPage") Integer currentPage, Model model){
if(currentPage!= null){
PageHelper.startPage(currentPage, 10);
}
List<Message> messages = messageService.list();
model.addAttribute("messages", messages);
return "message";
}
OK,完事。关于
关于分页插件的其他参数详细说明, 去文档上找哈。
最后的最后,在呼吁一下:
下一节准备整理:整合log4j/logback和aop,实现简单的日志记录
晚安。。。
我可以对一个人无限的好,前提是值得。 ——慕冬雪
点击查看更多内容
22人点赞
评论
共同学习,写下你的评论
评论加载中...
作者其他优质文章
正在加载中
感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦