找回密码
 立即注册
首页 业界区 安全 第二天

第二天

路逸思 昨天 22:55
DTO

当需要封装的数据与实体类的属性差别较大时,可以新创建一个DTO来封装数据
1.png

在获取当前管理员id时,使用到的技术--ThreadLocal

客户端发起的每一次请求都是单独的线程
2.png

分页查询部分中,PageHelper的startPage方法底层原理

Service层分页查询源码:
  1. /**  
  2. * 员工信息分页查询  
  3. * time:2026-03-18  
  4. *采用PageHelper插件实现分页查询  
  5. * PageHelper.startPage方法会自动拦截后续的查询操作,并将分页参数传递给MyBatis,MyBatis会根据这些参数生成相应的SQL语句,从而实现分页查询的功能。  
  6. * @param employeePageQueryDTO  
  7. * @return  
  8. */  
  9. @Override  
  10. public PageResult pageQuery(EmployeePageQueryDTO employeePageQueryDTO) {  
  11.   
  12.     PageHelper.startPage(employeePageQueryDTO.getPage(), employeePageQueryDTO.getPageSize());  
  13.   
  14.     //Page继承了ArrayList,所以它既是一个List集合,又包含了分页相关的信息,如总记录数、总页数等。  
  15.     Page<Employee> page = employeeMapper.pageQuery(employeePageQueryDTO);  
  16.   
  17.     PageResult pageResult = new PageResult(page.getTotal(),page.getResult());  
  18.   
  19.     return pageResult;  
  20. }
复制代码
上述代码中,调用了PageHelper插件的startPage方法,其底层原理是利用了ThreadLocal存入了对应的值,然后在使用mybatis进行数据库操作时,会动态的添加到sql语句末尾(所以写xml格式的sql语句尽量不用加“;”号)
3.png

当后端传给前端的时间数据是json格式时,页面显示的时间可能并不是正常的格式

可以用以下两种办法解决:
4.png

方法二消息转换器源码:
重写的是 WebMvcConfigurationSupport 中的方法
[code]/**   * 扩展mvc框架的消息转换器   * 消息转换器:将Controller方法的返回值转换为json格式的字符串响应给页面   * 转换时间格式:全局统一设置时间格式为yyyy-MM-dd HH:mm:ss   * @param converters the list of configured converters to extend   *///设置消息转换器,统一转换时间格式  @Override  protected void extendMessageConverters(List

相关推荐

您需要登录后才可以回帖 登录 | 立即注册