SSM框架使用分页插件PageHandler结合easyui的相关配置。
1.导入jar包
jar包地址(百度网盘):https://pan.baidu.com/s/1U9Mudv67E4eZ23G3ZeXpLQ
easyui的在线文档地址:http://www.jeasyui.com/demo/main/
2.在xml中配置分页插件
1)如果是mybatis.xml,那么在其中配置如下:
1 <!--注册分页插件--> 2 <plugins> 3 <plugin interceptor="com.github.pagehelper.PageHelper"> 4 <!--表明数据库的是何种语言--> 5 <property name="dialect" value="mysql"></property> 6 </plugin> 7 </plugins>
2)如果是spring.xml(applicationContext.xml),那么在其中配置如下:
1 <!--注册sqlsessionfactory对象--> 2 <bean id="sessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean"> 3 <property name="typeAliasesPackage" value="com.bjsxt.pojo"></property> 4 <property name="dataSource" ref="dataSource"></property> 5 6 <!--注册分页插件--> 7 <property name="plugins"> 8 <array> 9 <bean class="com.github.pagehelper.PageHelper"> 10 <property name="properties"> 11 <props> 12 <!--指定数据库语言--> 13 <prop key="dialect">mysql</prop> 14 <!--如果页为零则不进行分页 设置为开启--> 15 <prop key="pageSizeZero">true</prop> 16 <!--合理化分页 设置为开启--> 17 <prop key="reasonable">true</prop> 18 </props> 19 </property> 20 </bean> 21 </array> 22 </property> 23 </bean>
【easyui结合分页插件PageHandler:easyui会自动向后台传递int类型的page、rows,然后要求后台向前台传两个参数total(总条数)、rows】
3)service层的代码。。
1 //查询表单 的所有数据 并进行分页处理 2 @Override 3 public PageInfo<User> findAll(int page, int rows) { 4 5 //1.开启分页插件 6 PageHelper.startPage(page,rows); 7 8 //2.从数据库查询所有要分页的记录 9 List<User> list = usMapper.selectAll(); 10 11 //3.将查询结果封装到PageInfo对象中 12 PageInfo<User> userPageInfo = new PageInfo<User>(list); 13 14 return userPageInfo; 15 }
4)controller层的代码。。
1 //查询表单所有数据并进行分页 2 @RequestMapping("/findAll.do") 3 @ResponseBody 4 public Map<String,Object> findAll(int page, int rows){ 5 HashMap<String, Object> map = new HashMap<>(); 6 7 //调用service层方法 8 PageInfo<User> pageInfo = usService.findAll(page, rows); 9 10 //将数据放入到map集合中 11 map.put("total",pageInfo.getTotal()); 12 map.put("rows",pageInfo.getList()); 13 14 return map; 15 }