博客信息

springboot之pagehelper及log日志配置

发布时间:『 2019-02-17 03:30』  博客类别:SpringBoot  阅读(1010)

导入相关pom依赖

<dependency>
            <groupId>com.github.pagehelper</groupId>
            <artifactId>pagehelper-spring-boot-starter</artifactId>
            <version>1.2.3</version>
        </dependency>


配置application.yml文件

#pagehelper分页插件配置
pagehelper:
  helperDialect: mysql
  reasonable: true
  supportMethodsArguments: true
  params: count=countSql

#显示日志
logging:
  level:
    com.javaxl.springboot02.mapper: debug


相关代码

mapper.java

List<Book> queryBooksPager(Book book);

mapper.xml

<select id="queryBooksPager" resultType="com.javaxl.springboot02.entity.Book" parameterType="com.javaxl.springboot02.entity.Book">
    select
    <include refid="Base_Column_List" />
    from t_mvc_book
    where 1=1
    <if test="bname != null and bname !=''">
      bname like #{bname}
    </if>
  </select>

PagerAspect.java

@Component
@Aspect
public class PagerAspect {

    @Around("execution(* *..*Service.*Pager(..))")
    public Object invoke(ProceedingJoinPoint args) throws Throwable{
        Object[] params = args.getArgs();
        PageBean pageBean = null;
        for (Object param : params) {
            if(param instanceof PageBean){
                pageBean = (PageBean) param;
                break;
            }
        }

        if (pageBean !=null && pageBean.isPagination())
        PageHelper.startPage(pageBean.getPage(),pageBean.getRows());

        Object proceed = args.proceed(params);

        if (pageBean !=null && pageBean.isPagination()){
            PageInfo pageInfo = new PageInfo((List)proceed);
            pageBean.setTotal(pageInfo.getTotal()+"");
        }
        return proceed;
    }
}

service层

public List<Book> queryBooksPager(Book book, PageBean pageBean) {
        return bookMapper.queryBooksPager(book);
    }

springboot启动类

@MapperScan("com.javaxl.springboot02.mapper")
@EnableTransactionManagement
@EnableAspectJAutoProxy
@SpringBootApplication
public class Springboot02Application {

测试代码

public void selectBooksPager() {
        Book book = new Book();
        PageBean pageBean = new PageBean();
        List<Book> books = bookService.queryBooksPager(book, pageBean);
        for (Book b : books) {
            System.out.println(b);
        }
    }

控制台截图

小李飞刀_SpringBoot

小结

SpringBoot启动项配置,,通常容易被忘记:

 //自动扫描Mapper目录

  @MapperScan("com.javaxl.项目名.mapper")

  //启用事物管理器

  @EnableTransactionManagement

  //启用动态代理

  @EnableAspectJAutoProxy

关键字:     SpringBoot  

备案号:湘ICP备19000029号

Copyright © 2018-2019 javaxl晓码阁 版权所有