spring-boot - 如何在spring boot中以dd-mm-yyy格式插入日期
问题描述
我在输入日期时遇到问题;我有一个由产品代码、名称和日期组成的表单(后者已保存为字符串)。我尝试通过插入以下示例字段来使用 Postman 对其进行测试:{ "prodcode": "PC001", "name": "Personal Computer", "date": "11/23/2020" }
当我将其保存在数据库中时,出现以下错误:
数据截断:不正确的日期时间值:'23 -11-2020'for column' data' at row 1
这是感兴趣的代码:
产品.java
package com.example.Model;
import javax.persistence.Entity;
import javax.persistence.Id;
import javax.persistence.Table;
import com.example.Model.Product;
@Entity
@Table(name="productprove")
public class Product {
@Id
private String prodcode;
private String name;
private String date;
public Product() {
}
public Product(String prodcode, String name) {
super();
this.prodcode = prodcode;
this.name = name;
}
public String getProdcode() {
return prodcode;
}
public void setProdcode(String prodcode) {
this.prodcode = prodcode;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getDate() {
return date;
}
public void setDate(String date) {
this.date = date;
}
控制器.java
@RestController
@CrossOrigin(origins="http://localhost:4200")
@RequestMapping(value="/api")
public class Controller {
@Autowired
private Product_Service productservice;
@PostMapping("save-product")
public boolean saveProduct(@RequestBody Product product) throws IOException, ParseException {
SimpleDateFormat dateParser = new SimpleDateFormat ("dd/MM/yyyy"); //Format for input
String date=product.getDate();
java.util.Date dn = dateParser.parse(date); //Parsing the date
SimpleDateFormat dateFormatter = new SimpleDateFormat ("dd-MM-yyyy"); //Format for output
product.setDate(dateFormatter.format(dn)); //Printing the date
return productservice.saveProduct(product);
}
我想知道我的想法是否正确,或者是否需要进行其他更改。
衷心感谢帮助我的人
解决方案
尝试使用日期而不是字符串作为日期。并使用@DateTimeFormat
@Entity
@Table(name="productprove")
public class Product {
@DateTimeFormat(pattern = "dd-MM-yyyy")
@Column(name = "date")
private Date date;
我希望这会奏效。
推荐阅读
- python - 如何根据 Python 中控制台的输入不断更新操作结果?
- mobile - QR 码扫描 => 打开移动应用(如果已安装)或在标准浏览器中打开 URL?
- r - 通过创建新行来替换数据框中行的值,但保留修改后的原始行
- python - 从python中的字符串列表中获取电话号码作为格式对于每条记录都不相同
- javascript - 节点应用程序因 std::bad_alloc 而崩溃,同时拒绝消耗超过 18GB 的内存
- intershop - 将新的自定义 ComputedItem 注册到 ComputedItemTypesRegistry
- java - 将奇怪的 Json 响应解析为列表
- cakephp - 使用 CakePHP 4 创建联系表的麻烦
- sharepoint - Sharepoint Server 2019 空标签
- c# - 在 Ef .Net Core 中从另一个列表中的一个列表中搜索的问题