最近在作宜立方商城項目時,後臺管理系統要求實現分頁顯示,因爲項目使用了Mybatis逆向生成映射文件,因此在此使用了mybatis第三方插件--PageHelper來實現分頁這一功能,下面就如何在項目使用這一插件進行說明。
pagehelper-fix下載連接:連接:https://pan.baidu.com/s/1kXb1OF1 密碼:tgk5java
2.修改mybatis配置文件mysql
在Mybatis配置xml中配置攔截器插件: <plugins> <!-- com.github.pagehelper爲PageHelper類所在包名 --> <plugin interceptor="com.github.pagehelper.PageHelper"> <!-- 設置數據庫類型 Oracle,Mysql,MariaDB,SQLite,Hsqldb,PostgreSQL六種數據庫--> <property name="dialect" value="mysql"/> </plugin> </plugins>
3. 如何在項目中使用PageHelpergit
import java.util.List; import org.junit.Test; import org.springframework.context.ApplicationContext; import org.springframework.context.support.ClassPathXmlApplicationContext; import com.github.pagehelper.PageHelper; import com.github.pagehelper.PageInfo; import cn.e3mall.mapper.TbItemMapper; import cn.e3mall.pojo.TbItem; import cn.e3mall.pojo.TbItemExample; /** * @author 熊濤 *分頁測試用例 */ public class PageHelperTest { @Test public void testPageHelper() throws Exception { //初始化spring容器 ApplicationContext applicationContext = new ClassPathXmlApplicationContext("classpath:spring/applicationContext-*.xml"); //得到Mapper的代理對象 TbItemMapper itemMapper = applicationContext.getBean(TbItemMapper.class); //執行sql語句前設置分頁信息使用PageHelper的startPage方法 PageHelper.startPage(1,30); //執行查詢 TbItemExample example = new TbItemExample(); List<TbItem> list = itemMapper.selectByExample(example); //取分頁信息,PageInfo:1.總記錄數 2.總頁數 3.當前頁碼 PageInfo<TbItem> pageInfo = new PageInfo<>(list); System.out.println(pageInfo.getTotal()); System.out.println(pageInfo.getPages()); System.out.println(pageInfo.getPageNum()); System.out.println(pageInfo.getPageSize()); } }
4. 在服務層使用PageHelpergithub
@Override public EasyUIDataGridResult getItemList(int page, int rows) { //設置分頁信息 PageHelper.startPage(page, rows); //執行查詢 TbItemExample example = new TbItemExample(); List<TbItem> list = itemMapper.selectByExample(example); //取分頁信息 PageInfo<TbItem> pageInfo = new PageInfo<>(list); //建立返回結果對象 EasyUIDataGridResult result = new EasyUIDataGridResult(); result.setTotal(pageInfo.getTotal()); result.setRows(list); return result; }
5. 在控制層使用servicespring
@RequestMapping("/item/list")
@ResponseBody
public EasyUIDataGridResult getItemList(Integer page, Integer rows) {sql
EasyUIDataGridResult result = itemService.getItemList(page, rows); return result;
}數據庫