JSP页面:
<form:input path="comment"/><br>
<form:input path="date"/><br>
<input type="submit" value="Submit"/>
控制器:
@PostMapping("/saveVisit")
public String saveVisit(@ModelAttribute Visit visit){
visitService.addVisit(visit);
return "redirect:/visit/list";
}
和Hibernate Session:
@Override
@Transactional
public void addVisit(Visit visit) {
Session session = sessionFactory.getCurrentSession();
session.save(visit);
}
当没有日期输入时它起作用,因为它可以是NULL。
如何预先输入日期并将其保存在Java Object java.util.date中,然后将其保存到数据库中?
答案 0 :(得分:1)
在步骤之下。
创建日期类型
的列@Column(name = "DATEOFBIRTH", nullable = false, length = 32)
private Date dateOfBirth;
使用旧API
2A。使用SimpleDateFormat
public static Date convertStringToDate(String dateInString) {
SimpleDateFormat formatter = new SimpleDateFormat("EEEE, MMM dd, yyyy HH:mm:ss a");
Date date = null;
try {
date = formatter.parse(dateInString);
} catch (ParseException e) {
e.printStackTrace();
}
return date;
}
将返回的日期与其他数据一起保存到数据库
仅将新API用于日期
2b. String str = "01/01/2015";
DateTimeFormatter formatter = DateTimeFormatter.ofPattern("MM/dd/yyyy");
LocalDate dateTime = LocalDate.parse(str, formatter);
System.out.println(dateTime.format(formatter)); // not using toString
将新API用于日期时间
2c. String str = "01/01/2015 12:32:21";
DateTimeFormatter formatter = DateTimeFormatter.ofPattern("MM/dd/yyyy HH:mm:ss");
LocalDateTime dateTime = LocalDateTime.parse(str, formatter);
System.out.println(dateTime.format(formatter)); // not using toString