1. GetMapping接收前端的时间参数,一般用于前端要的某一个时间段的参数
前端传参示例 : 2023-12-21 08:58:46
后端接收示例 :
@DateTimeFormat(pattern = "yyyy-MM-dd hh:mm:ss")
private Date time
数据库的对应字段是 : timestamp 这个是pgsql的数据库里的字段
2. 字段点、线、面的使用
首先用随便一个名字的方法比如 TypeHandler 继承 BaseTypeHandler 这个抽象类,然后重写里面的方法,用不同的字段方法继承 TypeHandler
在xml的映射里直接映射到这个方法里,目前我也没太弄懂,等懂了再来补充
2.1 在数据库中可以不存点线面的数据类型而是存储String字段,你没看错就是这个,而且转换后查询并不慢哦,当然特别多的数据当我没说
比如存在数据库的地址范围值是这样的 "123.123,456.123;223.456,564.111;115.456,778.559" 字段类型,那么查传来后可以这样转换,代码如下:
@Data @NoArgsConstructor @AllArgsConstructor public class PointVOs { private double x; private double y; }
String coordinates = "123.123,456.123;223.456,564.111;115.456,778.559"; // 将coordinates字符串按照分号(;)分割成一个字符串数组,并将这个数组转换为一个流(stream) Arrays.stream(coordinates.split(";")) // 对于流中的每一个元素(这里称为pair),使用逗号(,)将其进一步分割成一个新的字符串数组 .map(pair -> pair.split(",")) // 过滤掉那些长度不为2的数组。这意味着我们只保留那些可以表示一个点(由两个坐标值组成)的数组 .filter(values -> values.length == 2) // 对于流中的每一个数组,将其转换为PointVOs对象;这通过将数组的第一个和第二个元素转换为double类型并传递给PointVOs的构造函数来完成 .map(values -> new PointVOs(Double.parseDouble(values[0]), Double.parseDouble(values[1]))) // 最后,将流中的所有PointVOs对象收集到一个列表中 .collect(Collectors.toList()); // 控制台输出可得 [PointVOs(x=123.123, y=456.123), PointVOs(x=223.456, y=564.111), PointVOs(x=115.456, y=778.559)] System.out.println(collect);