为了方便你们练习,项目没有过多的代码,只有与分页相关的代码,并且分页功能使用的是PageHelper插件,因此实现分页功能超级简单。相关操做步骤及思路:
一、pom.xml文件引入PageHelper的jar包坐标
二、spring配置文件注入分页插件信息
三、dao层直接查询的是全部的数据
四、service层先设置分页查询的条件,好比当前页多少,每页显示多少条,而后再查询所有,返回的是一个Page对象
五、contraller层,获取页面传过来的参数(当前页,每页显示多少条数据),而后调用service层的方法,返回一个page对象,根据这个page对象再封装一个PageInfo对象,最后把PageInfo转成json格式返回页面便可。javascript
前端:vuehtml
后端:ssm(spring+springmvc+mybatis)前端
数据库:mysqlvue
若是你在运行这个代码的过程当中有遇到问题,请加小编vi信xxf960513,我拉你进对应学习群!!帮助你快速掌握这个功能代码!java
一、pom.xml文件引入PageHelper的jar包坐标mysql
<!--分页插件坐标--> <dependency> <groupId>com.github.pagehelper</groupId> <artifactId>pagehelper</artifactId> <version>5.1.2</version> </dependency>
二、spring配置文件注入分页插件信息ios
<!--整合mybatis到spring中--> <bean class="org.mybatis.spring.SqlSessionFactoryBean"> <property name="dataSource" ref="dataSource"/> <property name="typeAliasesPackage" value="com.javaxxf.pojo"/> <!--分页插件--> <property name="plugins"> <array> <bean class="com.github.pagehelper.PageInterceptor"> <property name="properties"> <props> <prop key="helperDialect">mysql</prop> <prop key="reasonable">true</prop> </props> </property> </bean> </array> </property> </bean>
三、dao层直接查询的是全部的数据git
ZiLiaoDao.javagithub
@Component public interface ZiLiaoDao { @Select("SELECT * FROM ziliao") public abstract List<ZiLiao> findAll(); }
四、service层先设置分页查询的条件,好比当前页多少,每页显示多少条,而后再查询所有,返回的是一个Page对象spring
ZiLiaoServiceImpl.java
@Service public class ZiLiaoServiceImpl implements ZiLiaoService { @Autowired private ZiLiaoDao ziLiaoDao; /** * * @author xuxiaofei * @date 2021/8/13 上午10:54 * @param currentPage 当前页 * @param pageSize 每页条数 * @return com.github.pagehelper.Page */ public Page findAll(Integer currentPage, Integer pageSize) { //设置分页 Page page= PageHelper.startPage(currentPage,pageSize); // 查询所有 List<ZiLiao> all = ziLiaoDao.findAll(); return page; } }
五、contraller层,获取页面传过来的参数(当前页,每页显示多少条数据),而后调用service层的方法,返回一个page对象,根据这个page对象再封装一个PageInfo对象,最后把PageInfo转成json格式返回页面便可。
ZiLiaoController.java
@RestController public class ZiLiaoController { @Autowired private ZiLiaoService ziLiaoService; @RequestMapping("findAll") public String getAll(Integer currentPage, Integer pageSize) throws IOException { //分页查询 Page page = ziLiaoService.findAll(currentPage, pageSize); //封装PageInfo PageInfo info = new PageInfo(page); //将info转成json,响应给客户端 String json = new ObjectMapper().writeValueAsString(info); return json; } }
index.html
methods:{ //分页查询功能 selectByPage(){ axios.post("findAll","currentPage=" + this.pagination.currentPage + "&pageSize=" + this.pagination.pageSize) .then(resp => { //将查询出的数据赋值tableData this.tableData = resp.data.list; //设置分页参数 //当前页 this.pagination.currentPage = resp.data.pageNum; //总条数 this.pagination.total = resp.data.total; }) }, //改变每页条数时执行的函数 handleSizeChange(pageSize) { //修改分页查询的参数 this.pagination.pageSize = pageSize; //从新执行查询 this.selectByPage(); }, //改变页码时执行的函数 handleCurrentChange(pageNum) { //修改分页查询的参数 this.pagination.currentPage = pageNum; //从新执行查询 this.selectByPage(); } }, mounted(){ //调用分页查询功能 this.selectByPage(); }
完整源码下载地址:https://gitee.com/xuxiaofei19...
若是你在运行这个代码的过程当中有遇到问题,请加小编vi信xxf960513,!帮助你快速掌握这个功能代码!