关于文档:
总共有三种获取请求参数的方式:
1.body 使用@RequestBody
2.使用@RequestParam
3.在路径中,使用@PathVariable
PageHelper 分页插件
a>开启分页: PageHelper.startPage(int pageNum, int pageSize)
注意:1、开启分页必须放在开头的位置。
2、pageNum:当前页的页码
pageSize:每页显示的条数
b>获取相关数据得到一个list集合;
c>在查询获得list集合之后,使用PageInfo<T>pageInfo=new PageInfo<>(List<T>list,int navigatePages)获取分页相关数据
注意:list:分页之后的数据
navigatePages:导航分页的页码数
pageNum:当前页的页码
pageSize:每页显示的条数
size:当前页显示的真实条数
total:总记录数
pages:总页数
prePage:上一页的页码
nextPage:下一页的页码
isFirstPage/isLastPage:是否为第一页/最后一页
hasPreviousPage/hasNextPage:是否存在上一页/下一页
navigatePages:导航分页的页码数
navigatepageNums
:导航分页的页码,
[1,2,3,4,5]
后端Long类型到前端出现精度丢失的解决方法:
如果是局部改变:
// 使用ToStringSerializer将Long类型的id字段转换为String类型
@JsonSerialize(using = ToStringSerializer.class)
private Long id;
// 使用@JsonFormat注解将Long类型的id字段格式化为String
@JsonFormat(shape = JsonFormat.Shape.STRING)
private Long id;
当项目中存在多个类,且这些类中的多个字段都需要将Long类型转换为String类型返回给前端时,可以使用全局配置:
import com.fasterxml.jackson.databind.ObjectMapper;
import com.fasterxml.jackson.databind.module.SimpleModule;
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.context.annotation.Primary;
import org.springframework.http.converter.json.Jackson2ObjectMapperBuilder;
@Configuration
public class JacksonConfig {
@Bean
@Primary
@ConditionalOnMissingBean(ObjectMapper.class)
public ObjectMapper jacksonObjectMapper(Jackson2ObjectMapperBuilder builder) {
ObjectMapper objectMapper = builder.createXmlMapper(false).build();
SimpleModule simpleModule = new SimpleModule();
// 将Long类型序列化为String类型
simpleModule.addSerializer(Long.class, ToStringSerializer.instance);
objectMapper.registerModule(simpleModule);
return objectMapper;
}
}