如何使用Java实体将引导输入类型日期持久化到MySQL类型日期?

时间:2017-08-29 17:24:45

标签: java mysql twitter-bootstrap spring-boot

所以我有一个

<input type=date" > 

在我的表格中, 和

的用户模型
 @Column(name=birthday)
 public Date birthday; 

java.util.Data

导入日期

这需要持久保存到MySQL数据库,该数据库具有以下格式。 MySQL字段的类型为Date

yyyy-mm-dd

我尝试使用列

更改格式
@DateTimeFormat(pattern = "yy-MMMM-dd")

但它不起作用,我假设因为输入类型格式。 我该如何改变?我正在使用spring-boot。

1 个答案:

答案 0 :(得分:1)

我认为你有问题MessageConvertor你应该为Jackson ObjectMapper定义正确的日期格式,因为你应该添加这两个bean

@Bean
public MappingJackson2HttpMessageConverter primaryMessageConverter(){

    MappingJackson2HttpMessageConverter converter = new MappingJackson2HttpMessageConverter();
    converter.setObjectMapper(getObjectMapper());
    return converter;
}

@Bean
public ObjectMapper getObjectMapper(){
    ObjectMapper objectMapper = new ObjectMapper();
    DateFormat df = new SimpleDateFormat("yyyy-MM-dd");
    objectMapper.setDateFormat(df);
    return objectMapper;
}

之后简单的休息控制器应该可以正常工作

@RestController
public class UserController {

   @Autowired
   private UserRepository userRepository;

   @RequestMapping(value = "/user/",method = RequestMethod.POST)
   public ResponseEntity saveUser(@RequestBody User user) {
       userRepository.save(user);
       return ResponseEntity.status(HttpStatus.CREATED).build()
   }
}