Spring boot 为什么在spring boot中日期字段不进入我的数据库列?
我试图在数据库中存储名称、开始日期和结束日期。但是当我提交表单时,数据库只使用名称,而数据库上没有显示日期。它显示为空 型号类别:Spring boot 为什么在spring boot中日期字段不进入我的数据库列?,spring-boot,hibernate,spring-mvc,Spring Boot,Hibernate,Spring Mvc,我试图在数据库中存储名称、开始日期和结束日期。但是当我提交表单时,数据库只使用名称,而数据库上没有显示日期。它显示为空 型号类别: private String name; @Temporal(TemporalType.TIMESTAMP) @DateTimeFormat(pattern = "dd/MM/YYYY") private Date startdate; @Temporal(TemporalType.TIMESTAMP) @DateTimeFormat(patte
private String name;
@Temporal(TemporalType.TIMESTAMP)
@DateTimeFormat(pattern = "dd/MM/YYYY")
private Date startdate;
@Temporal(TemporalType.TIMESTAMP)
@DateTimeFormat(pattern = "dd/MM/YYYY")
private Date targetdate;
@GetMapping("/showAddForm")
public String showAddForm(Model model) {
Todo todo = new Todo();
model.addAttribute("todo", todo);
return "AddTodo";
}
@PostMapping("/saveTodo")
public String saveTodo(@ModelAttribute("todo") Todo todo) {
ts.saveTodo(todo);
return "redirect:/index";
}
Html表单
<form th:action="@{/saveTodo}" th:object="${todo}" method="POST">
<input type="text" th:field="*{name}" placeholder="Todo" class="form-control mb-4 col-4">
<br>
<input type="Date" th:field="*{startdate}" placeholder="Start Date" class="form-control mb-4 col-4">
<br>
<input type="Date" th:field="*{targetdate}" placeholder="Target Date" class="form-control mb-4 col-
4">
<br>
<button type="submit" class="btn btn-info col-2">Save Todo</button>
</form>
您是否尝试调试控制器并查看
todo
对象中的内容?如果您的todo
对象中有可用的时间和日期,请向我们显示您的save服务
方法和存储库
layer@MortezaBandi我只是想储存日期而不是时间。我正在为表单提供自定义输入。但它并没有到达数据库。这是我的保存和存储库层:保存服务:覆盖公共void saveTodo(Todo Todo){tr.save(Todo);}存储库:存储库公共接口TodoRepository扩展了JpaRepository{}我明白你的意思。我希望您在到达控制器时确保所需的值位于todo
对象内。您是否调试了控制器以查看todo
的内部?@MortezaBandi我只需将html文件中的输入type=“date”更改为“text”即可解决此问题。现在我必须自己写下整个日期。这里的实际问题是什么?这是我的HTML代码:如果我使用“日期”而不是文本,它将不再工作。您是否尝试调试控制器并查看您的
todo
对象中的内容?如果您的todo
对象中有可用的时间和日期,请向我们显示您的save服务
方法和存储库
layer@MortezaBandi我只是想储存日期而不是时间。我正在为表单提供自定义输入。但它并没有到达数据库。这是我的保存和存储库层:保存服务:覆盖公共void saveTodo(Todo Todo){tr.save(Todo);}存储库:存储库公共接口TodoRepository扩展了JpaRepository{}我明白你的意思。我希望您在到达控制器时确保所需的值位于todo
对象内。您是否调试了控制器以查看todo
的内部?@MortezaBandi我只需将html文件中的输入type=“date”更改为“text”即可解决此问题。现在我必须自己写下整个日期。这里的实际问题是什么?这是我的HTML代码:如果我使用“日期”而不是文本,它将不再工作。