2017-08-29 4 views
1

So habe ich eineWie persistent Bootstrap-Eingabe Typ Datum zu MySQL Typ Datum mit Java-Einheit?

<input type=date" > 

in meiner Form, und das Benutzermodell, das

@Column(name=birthday) 
public Date birthday; 

Datum hat von java.util.Data

zu einer MySQL-Datenbank beibehalten werden Dies muss importiert werden, welches das folgende Format hat. MySQL Feld ist vom Typ Datum

yyyy-mm-dd 

Ich habe versucht, das Format zu ändern der Spalte

@DateTimeFormat(pattern = "yy-MMMM-dd") 

aber es funktioniert nicht, ich gehe davon aus, weil das Eingabetyp-Formats. Wie ändere ich das? Ich benutze Spring-Boot.

+0

Hallo sollte hinzufügen ! Könnten Sie weitere Einzelheiten angeben? Wenn Sie Springboot verwenden, welches Framework haben Sie ausgewählt, um mit MySQL zu arbeiten: Hibernate, Spring Data JPA, Spring JDBC Template? Bitte geben Sie auch Struktur von MySQL Tabelle – Loniks

+0

Hey! Na sicher. Ich verwende Spring Data JPA. 'TABLE Benutzer CREATE (' 'User_id int (11) NOT NULL AUTO_INCREMENT,' 'email varchar (255) NOT NULL,' 'last_name varchar (255) NOT NULL,' 'name varchar (255) NICHT NULL, ' ' Passwort varchar (255) NOT NULL, ' ' Geburtstag Datum NOT NULL, ' ' PRIMARY KEY' ('user_id') ') ' –

Antwort

1

Ich glaube, Sie haben Problem mit MessageConvertor Sie korrekte Datumsformat für Jackson ObjectMapper dafür definieren, sollten Sie diese beiden Bohnen

@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; 
} 

Nach diesem einfachen Rest Controller sollte funktionieren

@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() 
    } 
} 
+0

Vielen Dank! Aber was ich gefunden habe funktioniert für mich ist das Hinzufügen dieser Anmerkungen zu meiner Entität, jetzt funktioniert es. @Column (name = "Geburtstag") \t @DateTimeFormat (pattern = "yyyy-MM-dd") \t @Temporal (TemporalType.DATE) \t Privat Datum birth; Aber vielen Dank! –