springboot接收String并映射到Date里,转换器

一、添加转换类

@Configuration
public class WebConfigBeans {

    @Autowired
    private RequestMappingHandlerAdapter handlerAdapter;

    /**
     * 增加字符串转日期的功能
     */

    @PostConstruct
    public void initEditableAvlidation() {

        ConfigurableWebBindingInitializer initializer = (ConfigurableWebBindingInitializer)handlerAdapter.getWebBindingInitializer();
        if(initializer.getConversionService()!=null) {
            GenericConversionService genericConversionService = (GenericConversionService)initializer.getConversionService();
                          这个就是转换类
            genericConversionService.addConverter(new CustomDateConverter());

        }

    }

}

二、创建转换类

    //             判断,传入过来是String,并且要映射到Date属性时才会调用该方法
public class CustomDateConverter implements Converter<String, Date> {

   @Override
   public Date convert(String source) {
      // 在这里面将String转换date
      SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");

      try {
         Date date = simpleDateFormat.parse(source);
         return date;
      } catch (ParseException e) {
         e.printStackTrace();
      }
      return null;
   }

}

三、插入数据库的date类型不包括时分秒,所以要用datetime字段

四、将date转换为String

SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
System.out.print( formatter.format(user1.get(4).getDate()));

阅读更多
个人分类: springboot web spring
上一篇Idea设置自动提示代码,其他全是垃圾,这才是你想要的设置,不是快捷键
下一篇mybatis中_parameter使用和常用sql的讲解
想对作者说点什么? 我来说一句

没有更多推荐了,返回首页

关闭
关闭
关闭