在编写后端接口时,前端往往对数据有所要求.比如,BI报表的折线图数据需要对数据进行处理,一些没有数据的日期,需要将其置为0,不然折现图会存在断点.
就像这样,然后前端就会过来打你.......
关于补全,这里有两种处理方式:
1.java代码里补全
在java中,创建一个list集合,存放时间,如:{"周一","周二",..."周五":}.然后创建一个map集合,将你从数据库获取的数据循环放进去,以日期为key,值对应value.最后遍历前面的时间list(用inti=0,i++,i<length的方式,因为用到下标),通过map.get(i),如果为空,就复制为0
2.数据库补全
使用虚表dual
通过left join 这样一张虚表,可以补全,left join 以左边的表为主,所以这张虚表放左边,你查询的结果集放右边,没有的数据会显示null.
然后再使用ifnull(:字段名,0)讲空值补为0