准备工作
前端使用element-ui的组件、后端自己写接收类、

@PostMapping("/savetime")
public void saveTime(@RequestBody MyTimeDto myTimeDto){
String strTime = myTimeDto.getMt();
System.out.println(strTime);
//2022-12-04T03:30:57.000Z
}最终后端接收到类似这样"2022-12-04T03:30:57.000Z"的字符串
数据库中设计表:分别有timestamp类型和datetime类型

测试接收时间并保存至数据库
编写mapper: SaveTime添加功能
@Mapper
public interface SaveTime {
@Insert("insert into mtable values (null,#{timestamp},#{localDateTime})")
void saveTi(Timestamp timestamp,LocalDateTime localDateTime);
}
看下controller层
@Autowired
SaveTime saveTime;
@PostMapping("/savetime")
public void saveTime(@RequestBody MyTimeDto myTimeDto){
//接收前端的数据
String strTime = myTimeDto.getMt();
System.out.println(strTime);
//制造LocalDateTime和Timestamp类对象
DateTimeFormatter dateTimeFormatter = DateTimeFormatter.ofPattern("yyyy-MM-dd'T'HH:mm:ss.SSS'Z'");
LocalDateTime localDateTime = LocalDateTime.parse(strTime, dateTimeFormatter);
Timestamp timestamp = Timestamp.valueOf(localDateTime);
//保存到数据库、看是否成功
saveTime.saveTi(timestamp,localDateTime);
}
看到保存成功、
此时数据库中timestamp类型对应java中Timestamp、
数据库中datetime类型对应java中LocalDateTime。
那么反过来呢?下面实验一下


看到依旧成功新增
测试取出时间
编写mapper: SaveTime添加功能
@Select("select * from mtable where id = #{id}")
MyTime selectByID(int id);接收实体类MyTime:均采用LocalDateTime类型
public class MyTime {
private String id;
private LocalDateTime timestamp;
private LocalDateTime localDateTime;
//get、set、toString方法省略
}
编写测试类
@Autowired
private SaveTime saveTime;
@Test
void myTest(){
MyTime myTime = saveTime.selectByID(1);
System.out.println(myTime);
//MyTime{id='1', timestamp=2022-12-03T15:54:35, localDateTime=2022-12-03T15:54:35}
}再将实体类MyTime:均采用Timestamp类型也均能从数据库中取出接收。
版权声明:本文为m0_62576090原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。