微信小程序--后端管理平台业务5--Mybatis分页PageHelper插件

使用的是分页插件PageHelper

参考文档:http://blog.csdn.net/woniu211111/article/details/54562307

http://www.cnblogs.com/ganchuanpu/archive/2016/12/09/6147911.html

在springboot上搭建的。

过程比较简单:

1.引入依赖:

		<!-- springboot版本的pagehelper -->
		<!-- https://mvnrepository.com/artifact/com.github.pagehelper/pagehelper-spring-boot-starter -->
		<dependency>
			<groupId>com.github.pagehelper</groupId>
			<artifactId>pagehelper-spring-boot-starter</artifactId>
			<version>1.1.1</version>
		</dependency>

我没有在yml文件中做任何配置。

然后直接使用测试类。


@Test
    public void pageTest() {
    	Integer pageNum = 1;
    	Integer pageSize = 2;
    	PageHelper.startPage(pageNum,pageSize);
    	List<CourseEntity>courses = courseMapper.selectAll();
    	PageInfo pageInfo = new PageInfo(courses);
    	Page<CourseEntity>list =(Page<CourseEntity>)courses;
    	System.out.println(list);
    	System.out.println(pageInfo);
    	System.out.println(list.getResult());
    }
就是直接将已经写好的course的查询所有课程的方法(返回的是List<courseEntity>,就是正常的dao层方法查询)拿过来包装成page。

控制台打印的时候 不会打印出里面包含的list信息。

打印的信息如下:

Page{count=true, pageNum=1, pageSize=2, startRow=0, endRow=2, total=2, pages=1, reasonable=false, pageSizeZero=false}
PageInfo{pageNum=1, pageSize=2, size=2, startRow=1, endRow=2, total=2, pages=1, list=Page{count=true, pageNum=1, pageSize=2, startRow=0, endRow=2, total=2, pages=1, reasonable=false, pageSizeZero=false}, prePage=0, nextPage=0, isFirstPage=true, isLastPage=true, hasPreviousPage=false, hasNextPage=false, navigatePages=8, navigateFirstPage1, navigateLastPage1, navigatepageNums=[1]}
Page{count=true, pageNum=1, pageSize=2, startRow=0, endRow=2, total=2, pages=1, reasonable=false, pageSizeZero=false}

不过,如果用Json返回,相同的内容显示就含有了包含list中的信息了,用的Controller返回的信息。

@Controller
public class BackCourseController {

	@Autowired CourseMapper courseMapper;
	
	@GetMapping("/course/page")
	@ResponseBody
	public PageInfo getPageCourseInfo() {
		Integer pageNum = 1;
    	Integer pageSize = 2;
    	PageHelper.startPage(pageNum,pageSize);
    	List<CourseEntity>courses = courseMapper.selectAll();
    	PageInfo pageInfo = new PageInfo(courses);
    	Page<CourseEntity>list =(Page<CourseEntity>)courses;
    	System.out.println(list);
    	System.out.println(pageInfo);
    	System.out.println(list.getResult());
    	return pageInfo;
	}


将这些信息通过json在线解析(网址:http://www.bejson.com/),的确是json数据:

{
    "pageNum": 1,
    "pageSize": 2,
    "size": 2,
    "startRow": 1,
    "endRow": 2,
    "total": 2,
    "pages": 1,
    "list": [
        {
            "id": 1,
            "times": 2,
            "depName": "计算机科学与软件工程学院",
            "depMajor": "嵌入式系统",
            "courseName": "软件理论",
            "priority": 1,
            "teacher": "陈怡香",
            "student": 30,
            "start": 2016,
            "end": 2017,
            "status": 0,
            "place": "数学馆103",
            "time": null
        },
        {
            "id": 2,
            "times": 2,
            "depName": "计算机科学与软件工程学院",
            "depMajor": "嵌入式系统",
            "courseName": "并行软件设计",
            "priority": 1,
            "teacher": "谷守珍",
            "student": 28,
            "start": 2017,
            "end": 2018,
            "status": 1,
            "place": "数学馆103",
            "time": null
        }
    ],
    "prePage": 0,
    "nextPage": 0,
    "isFirstPage": true,
    "isLastPage": true,
    "hasPreviousPage": false,
    "hasNextPage": false,
    "navigatePages": 8,
    "navigatepageNums": [
        1
    ],
    "navigateFirstPage": 1,
    "navigateLastPage": 1,
    "lastPage": 1,
    "firstPage": 1
}

如果返回的不是PageInfo,而是Page:

@Controller
public class BackCourseController {

	@Autowired CourseMapper courseMapper;
	@GetMapping(value="/course")
	public String course() {
		return "table-course";
	}
	
	@GetMapping("/course/page")
	@ResponseBody
	public Page getPageCourseInfo() {
		Integer pageNum = 1;
    	Integer pageSize = 2;
    	PageHelper.startPage(pageNum,pageSize);
    	List<CourseEntity>courses = courseMapper.selectAll();
    	PageInfo pageInfo = new PageInfo(courses);
    	Page<CourseEntity>list =(Page<CourseEntity>)courses;
    	System.out.println(list);
    	System.out.println(pageInfo);
    	System.out.println(list.getResult());
    	//return pageInfo;
    	return list;
	}
	
}

发现只有course集合的信息了,没有pageInfo相关的信息了。

[
    {
        "id": 1,
        "times": 2,
        "depName": "计算机科学与软件工程学院",
        "depMajor": "嵌入式系统",
        "courseName": "软件理论",
        "priority": 1,
        "teacher": "陈怡香",
        "student": 30,
        "start": 2016,
        "end": 2017,
        "status": 0,
        "place": "数学馆103",
        "time": null
    },
    {
        "id": 2,
        "times": 2,
        "depName": "计算机科学与软件工程学院",
        "depMajor": "嵌入式系统",
        "courseName": "并行软件设计",
        "priority": 1,
        "teacher": "谷守珍",
        "student": 28,
        "start": 2017,
        "end": 2018,
        "status": 1,
        "place": "数学馆103",
        "time": null
    }
]


也就是Page只含有里面的数据信息,而PageInfo除了有Page含有的信息,还有各种上一页,最后也,总页数,这些相关信息。

根据需要返回不同的结果



  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
微信小程序开发是一种基于微信平台的应用开发,可以使用多种语言进行后端开发,包括Java。Java是一种稳定、可靠、跨平台的编程语言,非常适合用于开发后端管理系统。 下面是一个简要的微信小程序开发java后端管理教程: 1. 确定需求:首先要明确管理系统的功能需求,例如用户管理、权限管理、数据展示等。 2. 架构设计:设计合理的系统架构,确定数据库的表结构,以及后端接口的设计。 3. 创建项目:使用Java开发工具,如Eclipse或IntelliJ IDEA,创建一个Java项目。 4. 引入依赖:通过Maven或Gradle等构建工具,引入相关依赖库,例如Spring Boot、MyBatis等。 5. 编写实体类:根据需求设计数据库表结构,创建相应的实体类。 6. 编写DAO层:使用MyBatis等持久层框架,编写与数据库交互的DAO层代码。 7. 编写Service层:编写处理业务逻辑的Service层代码,并调用相应的DAO层代码。 8. 设计接口:使用Spring MVC等Web框架,设计并编写后端接口,用于与前端小程序进行数据交互。 9. 实现接口:根据接口设计,在Controller层编写接口的实现代码,包括数据的查询、增、删、改等操作。 10. 部署项目:将项目打包成可执行的jar文件,使用服务器软件(如Tomcat)进行部署。 11. 调试测试:进行接口的调试和测试,确保各项功能正常。 12. 上线发布:将完成的后端管理系统发布到线上服务器,供用户使用。 以上是一个简要的微信小程序开发java后端管理教程,具体的开发步骤还需要根据实际需求和项目情况进行调整和完善。同时,还需了解微信小程序开发的相关文档和API,以便实现与微信平台的交互。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值