导入相关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启动项配置,,通常容易被忘记:
//自动扫描Mapper目录
@MapperScan("com.javaxl.项目名.mapper")
//启用事物管理器
@EnableTransactionManagement
//启用动态代理
@EnableAspectJAutoProxy
备案号:湘ICP备19000029号
Copyright © 2018-2019 javaxl晓码阁 版权所有