Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/313.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/64.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何将POJO中的LocalDateTime字段格式化为BLOB_Java_Mysql_Json_Spring Boot_Localdatetime - Fatal编程技术网

Java 如何将POJO中的LocalDateTime字段格式化为BLOB

Java 如何将POJO中的LocalDateTime字段格式化为BLOB,java,mysql,json,spring-boot,localdatetime,Java,Mysql,Json,Spring Boot,Localdatetime,我有一个POJO,它以JSON格式存储在MySQL数据库表的BLOB列中。所讨论的POJO有一个LocalDateTime字段,每当我将数据持久化到列时,LocalDateTime字段采用中描述的格式,而我希望它以yyyy MM dd hh:MM:ss格式表示 我曾尝试实施链接帖子中建议的解决方案,但没有一个奏效。我的猜测是,这与以下事实有关:该字段是BLOB中POJO的一部分,而不是传统的Timestamp字段 这是我的POJO的代码 public class MyPOJO { pr

我有一个POJO,它以JSON格式存储在MySQL数据库表的BLOB列中。所讨论的POJO有一个LocalDateTime字段,每当我将数据持久化到列时,LocalDateTime字段采用中描述的格式,而我希望它以yyyy MM dd hh:MM:ss格式表示

我曾尝试实施链接帖子中建议的解决方案,但没有一个奏效。我的猜测是,这与以下事实有关:该字段是BLOB中POJO的一部分,而不是传统的Timestamp字段

这是我的POJO的代码

public class MyPOJO {

    private Long id;

    @JsonFormat(pattern="yyyy-MM-dd")
    @DateTimeFormat(iso = DateTimeFormat.ISO.TIME)
    private LocalDateTime dateTime;

    private String someText;

    //Constructors

    //Getters and setters

}
欢迎任何意见

这是当前的JSON输出:

{
"id" : 1,
"dateTime" : {
    "year" : 2010,
    "month" : "JANUARY",
    "dayOfMonth" : 1,
    "dayOfWeek" : "FRIDAY",
    "dayOfYear" : 1,
    "monthValue" : 1,
    "hour" : 2,
    "minute" : 2,
    "second" : 0,
    "nano" : 0,
    "chronology" : {
      "id" : "ISO",
      "calendarType" : "iso8601"
    }
  }, 
  "someText": "someText"
}

我认为您应该使用@JsonFormatpattern=yyyy-MM-dd HH:MM:ss,因为您还需要这些时间值。如果没有,请替换为LocalDate并保留当前的正则表达式格式。

对于您的案例,正确的注释应该是:

@JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd hh:mm:ss")
    private LocalDateTime dateTime;
描述此解决方案的完整问题可在此处找到:。但是,你为什么要坚持你的POJO成为BLOB呢?至少,use CLOB BLOB代表二进制大对象,CLOB代表字符大对象。但实际上,您可能应该在大多数情况下(如果不是所有情况的话)使用concider VARCHAR2字段。

只需在字段上使用@JsonFormatpattern=yyyy-MM-dd就可以了。除此之外,它应该可以工作。确保您发送的是准确的MyPOJO对象作为响应