mybatis分页功能的实现

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包 自己去网上搜索。

发布了13 篇原创文章 · 获赞 1 · 访问量 2006

猜你喜欢

转载自blog.csdn.net/qq_31152023/article/details/100653618