mybatis分页功能的实现,自己总结的,也是从网上学到的
1:我们都知道,不管使用什么框架来开发项目,都是那几个层,持久层,业务层,对象层,控制层。直接看代码吧。
首先持久层,声明一个接口,看代码:
package com.test.demo.dao;
import com.test.demo.model.BasicAndDrainageStc;
import com.test.demo.model.DamUser;
import com.test.demo.model.OperateRecode;
import com.test.demo.model.Page;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import org.apache.ibatis.annotations.Select;
import java.util.List;
@Mapper
public interface PageMapper {
// 查询所有的信息
@Select("select * from basicanddrainagestc")
List<BasicAndDrainageStc> findBasicTablePage(@Param("page") Page page);
}
然后是服务层
package com.test.demo.service;
import com.test.demo.model.Page;
import org.springframework.security.core.parameters.P;
public interface PageService {
public Page findBasicTablePage(Page page);
}
然后是服务的实现层
package com.test.demo.service.serviceImpl;
import com.test.demo.dao.PageMapper;
import com.test.demo.model.BasicAndDrainageStc;
import com.test.demo.model.DamUser;
import com.test.demo.model.OperateRecode;
import com.test.demo.model.Page;
import com.test.demo.service.PageService;
import org.springframework.stereotype.Service;
import javax.annotation.Resource;
import java.util.List;
@Service("demoService")
public class PageServiceImpl implements PageService {
@Resource
private PageMapper pageMapper;
@Override
public Page findBasicTablePage(Page page) {
List<BasicAndDrainageStc> list = pageMapper.findBasicTablePage(page);
page.setData(list);
return page;
}
}
实现了这最基本的层,然后就是在控制层调用服务层中的方法啦,看代码:
package com.test.demo.controller;
import com.alibaba.fastjson.JSON;
//import com.alibaba.fastjson.JSONArray;
//import com.alibaba.fastjson.JSONObject;
import com.alibaba.fastjson.JSONArray;
import com.fasterxml.jackson.core.JsonProcessingException;
import com.fasterxml.jackson.databind.ObjectMapper;
import com.test.demo.model.BasicAndDrainageStc;
import com.test.demo.model.Page;
import com.test.demo.model.ValidateStc;
import com.test.demo.service.BasicAndDrainageStcService;
import com.test.demo.service.PageService;
import org.json.JSONObject;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.jdbc.core.JdbcTemplate;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.*;
import javax.annotation.Resource;
import javax.servlet.http.HttpServletRequest;
import java.io.*;
import java.util.*;
@Controller
@RequestMapping("/BasicAndDrainageStcController")
public class BasicAndDrainageStcController {
@Resource
private JdbcTemplate jdbcTemplate;
@Resource
private PageService pageService;
@Autowired
private BasicAndDrainageStcService basicAndDrainageStcService;
/**
* 用
*
* @param page
* @return
*/
// ?page=2&rows=5 每页5条选择第二页 每次使用方法的时候 带上参数
@RequestMapping("findBasicTablePage")
@ResponseBody
public Page findPage(Page page){
return pageService.findBasicTablePage(page);
}
}
在浏览器中直接访问
http://localhost:8080/BasicAndDrainageStcController/findBasicTablePage 默认显示的一页10行的数据,可以根据自己的需求来改
http://localhost:8080/BasicAndDrainageStcController/findBasicTablePage?page=1&rows=10 其中page是显示第几页 rows是一页有多少条数据
注意:所需要的所有jar包 自己去网上搜索。