分页插件与网页静态管理
后台静态页面管理
1、整合静态页面
静态页面位置:后台管理系统静态页面
使用方法:
把页面和 CSS 和 JS 添加到 buy-manager-web 工程中的 WEB-INF 下:
由于在 web.xml 中定义的 url 拦截形式为“/”表示拦截所有的 url 请求,包括静态资源例如css、js 等。所以需要在 springmvc.xml 中添加资源映射标签:
<!-- 配置资源映射 --> <mvc:resources location="/css/" mapping="/css/**"/> <mvc:resources location="/js/" mapping="/js/**"/> |
分页插件PageHelper
1、 Mybatis 分页插件 - PageHelper 说明
如果你也在用 Mybatis,建议尝试该分页插件,这个一定是最方便使用的分页插件。
该插件目前支持Oracle,Mysql,MariaDB,SQLite,Hsqldb,PostgreSQL 六种数据库分页。
2、使用方法
第一步:在 manager-dao 中pom添加对 PageHelper 的引用
<!-- 分页插件 --> <dependency> <groupId>com.github.pagehelper</groupId> <artifactId>pagehelper</artifactId> </dependency> |
第二步:在 Mybatis 配置 xml 中配置拦截器插件:
<plugins> <!-- 配置分页插件 --> <plugin interceptor="com.github.pagehelper.PageHelper"> <!-- 设置数据库方言 --> <property name="dialect" value="mysql" /> </plugin> </plugins> |
第三步:分页测试在代码中使用
1、 设置分页信息:
//获取第 1 页,10 条内容,默认查询总数 count PageHelper.startPage(1, 10); //紧跟着的第一个 select 方法会被分页 List<Country> list = countryMapper.selectIf(1); |
2、取分页信息
//分页后,实际返回的结果 list 类型是 Page<E>,如果想取出分页信息,需要强制转换为 Page<E>, Page<Country> listCountry = (Page<Country>)list; listCountry.getTotal(); |
3、取分页信息的第二种方法
//获取第 1页,10 条内容,默认查询总数 count PageHelper.startPage(1, 10); List<Country> list = countryMapper.selectAll(); //用 PageInfo 对结果进行包装 PageInfo page = new PageInfo(list); //测试 PageInfo 全部属性 //PageInfo 包含了非常全面的分页属性 assertEquals(1, page.getPageNum()); assertEquals(10, page.getPageSize()); assertEquals(1, page.getStartRow()); assertEquals(10, page.getEndRow()); assertEquals(183, page.getTotal()); assertEquals(19, page.getPages()); assertEquals(1, page.getFirstPage()); assertEquals(8, page.getLastPage()); assertEquals(true, page.isFirstPage()); assertEquals(false, page.isLastPage()); assertEquals(false, page.isHasPreviousPage()); assertEquals(true, page.isHasNextPage()); |
Service 层
参数:int page ,int rows
业务逻辑:查询所有商品列表,要进行分页处理。
返回值:EasyUIDataGridResult
/** * @Title: getItemList * @Description: TODO(这里用一句话描述这个方法的作用) * @param page * @param rows * @return * @see com.igeek.service.ItemService#getItemList(int, int) */ public EasyUIDataGridResult getItemList(int page, int rows) { EasyUIDataGridResult result = null; //设置分页的页面和每页条数 PageHelper.startPage(page,rows); //执行查询 TbItemExample example = new TbItemExample(); List<TbItem> list = itemMapper.selectByExample(example); //封装分页结果 PageInfo<TbItem> info = new PageInfo<>(list); //生成返回值 result = new EasyUIDataGridResult(info.getTotal(), list); return result; } |