一、java
1.//按照时间由小到大排序,分组
Map<Date1, List<TransactionpriceTrendVO>> groupedData = groupedData1.stream().sorted(Comparator.comparing(TransactionpriceTrendVO::getDate).reversed()) .collect(Collectors.groupingBy(iteam -> iteam.getDate(), TreeMap::new, Collectors.toList()));
注意的是要使用TreeMap定义分组对象,因为treeMap相对于hashMap是有序的
"data": [
{
"date1": "2023-10-01 00:00:00",
"dataList": [
{
"province": "福建省",
"date": "2023-10-01 00:00:00",
"transactionPrice": 54.0
},
{
"province": "重庆市",
"date": "2023-10-01 00:00:00",
"transactionPrice": 9.0
}
]
},
{
"date1": "2023-10-20 00:00:00",
"dataList": [
{
"province": "重庆市",
"date": "2023-10-20 00:00:00",
"transactionPrice": 9.0
},
{
"province": "福建省",
"date": "2023-10-20 00:00:00",
"transactionPrice": 9.0
}
]
}
]
2. double型做加减乘除会丢失精度,应当用decimal型。 参考书目:java面试宝典
3. Float要转string返回给前端,不然5000.45可能会变成5000.4501953125。注意转string前要判断是否为空,不然会报错。
4.获取当前时间:Date date = new Date();
二、mybaties
1.mybaties 里,等号用法如下:
2.时间显示精确到时分秒
to_char(through_time, 'yyyy-MM-dd HH24:MI:SS') as throughTime
3.sql查询,从pg数据库中读取出datetime格式的时间段
select to_char(a.start_time, 'yyyy-MM-dd HH24:MI:SS') as startTime from table;
4.sql查询,格式强制转换
5.mybaties传参 一般用#{},目的是防止sql注入。