datetime
Los datos en el formato en MySQL tienen la forma de: 2021-01-14 13:52:00
propia de Java java.sql.Date
, java.sql.Time
y java.sql.Timestamp
no se pueden expresar de esta forma, por lo que es muy inconveniente cuando esta forma de fecha está involucrada en el desarrollo.
Si Java usa String para almacenar este formato de hora, debe prestar atención a la conversión entre formatos al leer y escribir la base de datos.
Leer base de datos
Utilice las funciones de la biblioteca MySQL DATE_FORMAT()
para datetime
procesar datos de tipo en MySQL para obtener datos de tipo String.
select DATE_FORMAT(`create_time`, "%y-%m-%d %H:%i:%s")as create_time from test_table;
resultMap
Especifique lo siguiente al definir en Mapper
<id column="create_time" property="createTime" jdbcType="TIMESTAMP"/>
Escribir en la base de datos
yyyy-MM-dd HH:mm:ss
Escriba la hora en el formato de tipo String en el datetime
campo de tipo en MySQL , que se puede escribir directamente sin conversión entre formatos.
También puede utilizar las herramientas relacionadas con lombok y Json de la siguiente manera
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import lombok.ToString;
import lombok.experimental.Accessors;
import java.util.Date;
@Data
@AllArgsConstructor
@NoArgsConstructor
@ToString
@Accessors(chain = true)
public class User {
private int id;
private String name;
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:SS")
private Date bir;
private String sex;
private String address;
}
Se utiliza @JsonFormat
para especificar el formato del Json devuelto en cada campo.