springmvc 自定义类型转换 前台传入date日期字符串,数据库需要保存date类型

本文介绍两种字符串日期类型的转换方法:一种是通过自定义转换器实现,适用于复杂场景;另一种是在实体类POJO上使用@DateTimeFormat注解进行简单快速的日期转换。

字符串日期类型的转换说两种,

  • 通过自定义转换器,通用可以处理更多内容,以日期为例

自定义一个转换器类并实现org.springframework.core.convert.converter.Converter接口

实际格式根据自己需求修改;

在到springmvc的核心配置文件中配置自定义转换器

  • 如果只是做一个日期转换可以不使用自定义类型转换,有种更简单的方法,在实体类pojo对应的日期属性变量上加注解
  • @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")

 

好的,下面是一个简单的SpringMVC自定义类型转换器的案例。 首先,我们需要创建一个类来实现自定义类型转换器的接口 `Converter<S, T>`,其中S表示源类型,T表示目标类型。在这个例子中,我们需要将字符串类型转换Date类型,所以源类型为String,目标类型Date。具体实现代码如下: ```java public class StringToDateConverter implements Converter<String, Date> { @Override public Date convert(String source) { SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd-HH"); try { return sdf.parse(source); } catch (ParseException e) { e.printStackTrace(); return null; } } } ``` 上面的代码中,我们使用了Java自带的SimpleDateFormat类来将字符串转换Date类型。在convert方法中,通过传入字符串source和日期格式“yyyy-MM-dd-HH”来创建一个SimpleDateFormat对象sdf,然后调用sdf的parse方法将source转换Date类型。 接下来,我们需要在SpringMVC的配置文件中注册这个自定义类型转换器。假设我们使用的是XML配置方式,那么可以在配置文件中添加如下代码: ```xml <mvc:annotation-driven> <mvc:argument-resolvers> <bean class="org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter"> <property name="webBindingInitializer"> <bean class="org.springframework.web.bind.support.ConfigurableWebBindingInitializer"> <property name="conversionService"> <bean class="org.springframework.format.support.FormattingConversionServiceFactoryBean"> <property name="converters"> <set> <bean class="com.example.converter.StringToDateConverter"/> </set> </property> </bean> </property> </bean> </property> </bean> </mvc:argument-resolvers> </mvc:annotation-driven> ``` 上面的代码中,我们使用了SpringMVC提供的mvc:argument-resolvers标签来注册自定义类型转换器。在这个例子中,我们将自定义类型转换器类StringToDateConverter添加到FormattingConversionServiceFactoryBean的converters属性中,并将这个bean注册为webBindingInitializer的conversionService属性。 最后,我们就可以在Controller中使用自定义类型转换器了。例如: ```java @RequestMapping("/test") public String test(Date birthDate) { System.out.println(birthDate); return "test"; } ``` 在上面的代码中,我们使用了一个名为birthDateDate类型参数,这个参数会被自动转换为我们在自定义类型转换器中指定的日期格式。 这就是一个简单的SpringMVC自定义类型转换器的案例。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值