springboot多态_SpringBoot项目实战(5):集成分页插件

集成分页插件就比较简单了,我是用的Github上某位大神写的分页插件。具体使用在这先记录下。

添加依赖

com.github.pagehelper

pagehelper

4.1.1

注:官网已经更新到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 messages = messageService.list();

model.addAttribute("messages", messages);

return "message";

}

OK,完事。关于

关于分页插件的其他参数详细说明, 去文档上找哈。

最后的最后,在呼吁一下:

下一节准备整理:整合log4j/logback和aop,实现简单的日志记录

晚安。。。

我可以对一个人无限的好,前提是值得。 ——慕冬雪

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值