员工分页查询业务功能开发

master
hahameng 7 months ago
parent b3c6645d64
commit cb81223309

@ -66,6 +66,7 @@
<artifactId>druid-spring-boot-starter</artifactId>
</dependency>
<!-- mybatis 的分页插件 PageHelper 来简化分页代码的开发 -->
<dependency>
<groupId>com.github.pagehelper</groupId>
<artifactId>pagehelper-spring-boot-starter</artifactId>

@ -1,10 +1,14 @@
package com.sky.config;
import com.sky.interceptor.JwtTokenAdminInterceptor;
import com.sky.json.JacksonObjectMapper;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.http.converter.HttpMessageConverter;
import org.springframework.http.converter.json.MappingJackson2HttpMessageConverter;
import org.springframework.web.servlet.config.annotation.InterceptorRegistry;
import org.springframework.web.servlet.config.annotation.ResourceHandlerRegistry;
import org.springframework.web.servlet.config.annotation.WebMvcConfigurationSupport;
@ -15,6 +19,8 @@ import springfox.documentation.service.ApiInfo;
import springfox.documentation.spi.DocumentationType;
import springfox.documentation.spring.web.plugins.Docket;
import java.util.List;
/**
* web
*/
@ -39,6 +45,7 @@ public class WebMvcConfiguration extends WebMvcConfigurationSupport {
/**
* knife4j
*
* @return
*/
@Bean
@ -59,10 +66,29 @@ public class WebMvcConfiguration extends WebMvcConfigurationSupport {
/**
*
*
* @param registry
*/
protected void addResourceHandlers(ResourceHandlerRegistry registry) {
registry.addResourceHandler("/doc.html").addResourceLocations("classpath:/META-INF/resources/");
registry.addResourceHandler("/webjars/**").addResourceLocations("classpath:/META-INF/resources/webjars/");
}
/**
* Spring MVC
* @param converters
*/
protected void extendMessageConverters(List<HttpMessageConverter<?>> converters) {
log.info("扩展消息转换器...");
//创建一个消息转换器对象
MappingJackson2HttpMessageConverter converter = new MappingJackson2HttpMessageConverter();
//需要为消息转换器设置一个对象转换器对象转换器可以将Java对象序列化为json数据
converter.setObjectMapper(new JacksonObjectMapper());
//将自己的消息转化器加入容器中
converters.add(0,converter);
}
}

@ -3,18 +3,17 @@ package com.sky.controller.admin;
import com.sky.constant.JwtClaimsConstant;
import com.sky.dto.EmployeeDTO;
import com.sky.dto.EmployeeLoginDTO;
import com.sky.dto.EmployeePageQueryDTO;
import com.sky.entity.Employee;
import com.sky.properties.JwtProperties;
import com.sky.result.PageResult;
import com.sky.result.Result;
import com.sky.service.EmployeeService;
import com.sky.utils.JwtUtil;
import com.sky.vo.EmployeeLoginVO;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import org.springframework.web.bind.annotation.*;
import java.util.HashMap;
import java.util.Map;
@ -87,4 +86,15 @@ public class EmployeeController {
return Result.success();
}
/**
*
* @param pageQueryDTO
* @return
*/
@GetMapping("/page")
public Result<PageResult> page(EmployeePageQueryDTO pageQueryDTO){
log.info("分页查询,参数:{}", pageQueryDTO);
PageResult pageResult= employeeService.pageQuery(pageQueryDTO);
return Result.success(pageResult);
}
}

@ -1,5 +1,7 @@
package com.sky.mapper;
import com.github.pagehelper.Page;
import com.sky.dto.EmployeePageQueryDTO;
import com.sky.entity.Employee;
import org.apache.ibatis.annotations.Insert;
import org.apache.ibatis.annotations.Mapper;
@ -24,4 +26,11 @@ public interface EmployeeMapper {
"values " +
"(#{name},#{username},#{password},#{phone},#{sex},#{idNumber},#{createTime},#{updateTime},#{createUser},#{updateUser},#{status})")
void insert(Employee employee);
/**
*
* @param pageQueryDTO
* @return
*/
Page<Employee> pageQuery(EmployeePageQueryDTO pageQueryDTO);
}

@ -2,7 +2,9 @@ package com.sky.service;
import com.sky.dto.EmployeeDTO;
import com.sky.dto.EmployeeLoginDTO;
import com.sky.dto.EmployeePageQueryDTO;
import com.sky.entity.Employee;
import com.sky.result.PageResult;
public interface EmployeeService {
@ -18,4 +20,11 @@ public interface EmployeeService {
* @param employeeDTO
*/
void save(EmployeeDTO employeeDTO);
/**
*
* @param pageQueryDTO
* @return
*/
PageResult pageQuery(EmployeePageQueryDTO pageQueryDTO);
}

@ -1,17 +1,21 @@
package com.sky.service.impl;
import com.github.pagehelper.Page;
import com.github.pagehelper.PageHelper;
import com.sky.constant.MessageConstant;
import com.sky.constant.PasswordConstant;
import com.sky.constant.StatusConstant;
import com.sky.context.BaseContext;
import com.sky.dto.EmployeeDTO;
import com.sky.dto.EmployeeLoginDTO;
import com.sky.dto.EmployeePageQueryDTO;
import com.sky.entity.Employee;
import com.sky.exception.AccountLockedException;
import com.sky.exception.AccountNotFoundException;
import com.sky.exception.BaseException;
import com.sky.exception.PasswordErrorException;
import com.sky.mapper.EmployeeMapper;
import com.sky.result.PageResult;
import com.sky.service.EmployeeService;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
@ -19,6 +23,7 @@ import org.springframework.stereotype.Service;
import org.springframework.util.DigestUtils;
import java.time.LocalDateTime;
import java.util.List;
@Service
public class EmployeeServiceImpl implements EmployeeService {
@ -90,4 +95,23 @@ public class EmployeeServiceImpl implements EmployeeService {
employeeMapper.insert(employee);//后续步骤定义
}
/**
*
*
* @param pageQueryDTO
* @return
*/
@Override
public PageResult pageQuery(EmployeePageQueryDTO pageQueryDTO) {
// select * from employee limit 0,10
//开始分页查询
PageHelper.startPage(pageQueryDTO.getPage(), pageQueryDTO.getPageSize());
Page<Employee> page = employeeMapper.pageQuery(pageQueryDTO);//后续定义
long total = page.getTotal();
List<Employee> records = page.getResult();
return new PageResult(total, records);
}
}

@ -2,4 +2,13 @@
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd" >
<mapper namespace="com.sky.mapper.EmployeeMapper">
<select id="pageQuery" resultType="com.sky.entity.Employee">
select * from employee
<where>
<if test="name!=null and name != ''">
and name like concat('%',#{name},'%')
</if>
</where>
order by create_time desc
</select>
</mapper>

Loading…
Cancel
Save