栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

mybatis分页配置

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

mybatis分页配置

配置类

package com.xxxx.server.config;

import com.baomidou.mybatisplus.extension.plugins.PaginationInterceptor;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;


@Configuration
public class MyBatisPlusConfig {

	//在查询时会拦截sql语句并把分页语句加上
	@Bean
	public PaginationInterceptor paginationInterceptor(){
		return new PaginationInterceptor();
	}

}

实体封装

package com.xxxx.server.pojo;

import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;

import java.util.List;


@Data
@NoArgsConstructor
@AllArgsConstructor
public class RespPageBean {
	
	private Long total;
	
	private List data;

}

controller

	@GetMapping("/")
	public RespPageBean getEmployee(@RequestParam(defaultValue = "1") Integer currentPage,
	                                @RequestParam(defaultValue = "10") Integer size,
	                                Employee employee,
	                                LocalDate[] beginDateScope){
		return employeeService.getEmployeeByPage(currentPage,size,employee,beginDateScope);
	}

service

	@Override
	public RespPageBean getEmployeeByPage(Integer currentPage, Integer size, Employee employee,
	                                      LocalDate[] beginDateScope) {
		//开启分页  currentPage:当前页   size:每页最大条数
		Page page = new Page<>(currentPage, size);
		IPage employeeByPage = employeeMapper.getEmployeeByPage(page, employee, beginDateScope);
		RespPageBean respPageBean = new RespPageBean(employeeByPage.getTotal(), employeeByPage.getRecords());
		return respPageBean;
	}

mapper

IPage getEmployeeByPage(Page page, @Param("employee") Employee employee,
	                                  @Param("beginDateScope") LocalDate[] beginDateScope);

sql语句


        
            
            
        
        
            
            
        
        
            
            
        
        
            
            
        
        
            
            
        
    


	
		SELECT
		e.*,
		n.id AS nid,
		n.`name` AS nname,
		p.id AS pid,
		p.`name` AS pname,
		d.id AS did,
		d.`name` AS dname,
		j.id AS jid,
		j.`name` AS jname,
		pos.id AS posid,
		pos.`name` AS posname
		FROM
		t_employee e,
		t_nation n,
		t_politics_status p,
		t_department d,
		t_joblevel j,
		t_position pos
		WHERe
		e.nationId = n.id
		AND e.politicId = p.id
		AND e.departmentId = d.id
		AND e.jobLevelId = j.id
		AND e.posId = pos.id
		
			AND e.`name` LIKE CONCAt( '%', #{employee.name}, '%' )
		
		
			AND e.politicId = #{employee.politicId}
		
        
            AND e.nationId = #{employee.nationId}
        
        
            AND e.jobLevelId = #{employee.jobLevelId}
        
        
            AND e.posId = #{employee.posId}
        
        
            AND e.engageForm = #{employee.engageForm}
        
        
            AND e.departmentId = #{employee.departmentId}
        
        
            AND e.beginDate BETWEEN #{beginDateScope[0]} AND #{beginDateScope[1]}
        
		ORDER BY
		e.id
	
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/763103.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号