分页查询:

使用Mybatis分页插件进行分页查询,需要配置拦截器
// MybatisPlusConfig.java
@Configuration
public class MybatisPlusConfig {
@Bean
public MybatisPlusInterceptor mybatisPlusInterceptor(){
MybatisPlusInterceptor interceptor = new MybatisPlusInterceptor();
interceptor.addInnerInterceptor(new PaginationInnerInterceptor());
return interceptor;
}
}添加业务代码:
// EmployeeController.java
@GetMapping("/page")
public R<Page<Employee>> page(int page, int pageSize, String name){
Page<Employee> pageInfo = new Page<>(page, pageSize);
LambdaQueryWrapper<Employee> queryWrapper = new LambdaQueryWrapper<>();
queryWrapper.like(StringUtils.isNotEmpty(name), Employee::getName, name);
queryWrapper.orderByDesc(Employee::getUpdateTime);
employeeService.page(pageInfo, queryWrapper);
if (pageInfo.getTotal() != 0) return R.success(pageInfo);
else return R.error("no field");
}禁用/启用员工账号:


这里如果只是单纯地updateById,那么会出现id匹配不上的问题



简而言之就是将传给浏览器的json数据中的long型数据转成string,需要使用信息转化器来实现
导入资源中的对象映射器

new SimpleModule().addSerializer(Long.class, ToStringSerializer.instance)
这一句表示添加一个long型转string型的序列化器
拓展信息转化器:
// WebMvcConfig.java
@Override
protected void extendMessageConverters(List<HttpMessageConverter<?>> converters) {
// 信息转化器对象
MappingJackson2HttpMessageConverter messageConverter = new MappingJackson2HttpMessageConverter();
messageConverter.setObjectMapper(new JacksonObjectMapper());
converters.add(0, messageConverter);
}编辑员工信息:

编辑请求路径为:http://localhost:8080/employee/{id}
// EmployeeController.java
@GetMapping("/{id}")
public R<Employee> revealInfo(@PathVariable long id){
Employee emp = employeeService.getById(id);
if (emp != null) return R.success(emp);
else return R.error("query and reveal fail...");
}
文章介绍了如何在SpringBoot中使用MybatisPlus进行分页查询,配置拦截器实现分页功能,并展示了如何处理Long类型数据在JSON转换时的精度丢失问题,通过自定义信息转化器将Long转为String。此外,还提到了员工信息的编辑接口。
667

被折叠的 条评论
为什么被折叠?



