分页查询从接口到实现,统一对日期类型进行格式化处理

  1. 编写Service实现类
  2. 编写Mapper的sql,但复杂的sql语句需要写到mapper对应的xml文件中
  3. 日期类型格式化处理
    1. /**
           * 扩展springmvc框架的消息转换器
           * @param converters
           */
          @Override
          protected void extendMessageConverters(List<HttpMessageConverter<?>> converters) {
              log.info("开始扩展消息转换器...");
              //创建一个消息转化器对像
              MappingJackson2HttpMessageConverter converter = new MappingJackson2HttpMessageConverter();
              //设置对象转换器,可以将Java对象转为json字符串
              converter.setObjectMapper(new JacksonObjectMapper());
              //将我们自己的转换器放入spring MVC框架的容器中
              converters.add(0,converter);
          }

      这段代码是一个在 Spring MVC 中扩展消息转换器的方法。它执行以下操作:

    2. extendMessageConverters 方法用于扩展 Spring MVC 的消息转换器列表。

    3. MappingJackson2HttpMessageConverter 是一个消息转换器,用于将 Java 对象转换为 JSON 字符串。

    4. JacksonObjectMapper 是一个自定义的 Jackson 对象映射器,用于设置对象转换器。

      1. SimpleModule simpleModule = new SimpleModule()
                        .addDeserializer(LocalDateTime.class, new LocalDateTimeDeserializer(DateTimeFormatter.ofPattern(DEFAULT_DATE_TIME_FORMAT)))
                        .addDeserializer(LocalDate.class, new LocalDateDeserializer(DateTimeFormatter.ofPattern(DEFAULT_DATE_FORMAT)))
                        .addDeserializer(LocalTime.class, new LocalTimeDeserializer(DateTimeFormatter.ofPattern(DEFAULT_TIME_FORMAT)))
                        .addSerializer(LocalDateTime.class, new LocalDateTimeSerializer(DateTimeFormatter.ofPattern(DEFAULT_DATE_TIME_FORMAT)))
                        .addSerializer(LocalDate.class, new LocalDateSerializer(DateTimeFormatter.ofPattern(DEFAULT_DATE_FORMAT)))
                        .addSerializer(LocalTime.class, new LocalTimeSerializer(DateTimeFormatter.ofPattern(DEFAULT_TIME_FORMAT)));

        对象映射器:基于jackson将Java对象转为json,或者将json转为Java对象
        * 将JSON解析为Java对象的过程称为 [从JSON反序列化Java对象]
        * 从Java对象生成JSON的过程称为 [序列化Java对象到JSON]

      2. addDeserializerSimpleModule 类的方法之一,用于注册自定义的反序列化器。

        该方法接受两个参数:要进行反序列化的目标类型(如 LocalDateTime.class)和相应的反序列化器实例(如 new LocalDateTimeDeserializer(DateTimeFormatter.ofPattern(DEFAULT_DATE_TIME_FORMAT)))。

      3. new LocalDateTimeDeserializer(DateTimeFormatter.ofPattern(DEFAULT_DATE_TIME_FORMAT)) 是用于创建 LocalDateTimeDeserializer 对象的代码。

        LocalDateTimeDeserializer 是一个自定义的反序列化器类,用于将字符串解析为 LocalDateTime 类型的对象。它接受一个参数:一个 DateTimeFormatter 对象,用于指定日期时间的格式

        在给定的代码中,DateTimeFormatter.ofPattern(DEFAULT_DATE_TIME_FORMAT) 用于创建一个日期时间格式化器DEFAULT_DATE_TIME_FORMAT 是一个常量,表示日期时间的默认格式

        因此,整个表达式的作用是创建一个 LocalDateTimeDeserializer 对象,并使用默认的日期时间格式化器来解析字符串为 LocalDateTime 类型的对象。

    5. 通过 converter.setObjectMapper(new JacksonObjectMapper()) 将自定义的对象映射器设置到消息转换器中,以便将 Java 对象转换为 JSON 字符串。

    6. converters.add(0, converter) 将自定义的消息转换器添加到 Spring MVC 框架的转换器列表的起始位置。

    7. 总体来说,这段代码的作用是在 Spring MVC 中扩展消息转换器,将 Java 对象转换为 JSON 字符串,并将自定义的消息转换器添加到转换器列表中,以便在处理请求和响应时进行相应的数据转换。

 

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值