发表于: 2018-03-25 23:38:27
1 454
今天完成的任务
1、完成了折线图接口
A、原型
B、确认需要返回的数据(出参)和筛选条件(入参):
入参包括“毕业院校”、“籍贯”、“学历”、“专业”、“职业”、“年龄”,还有底部的“入学时间下限”、“入学时间上限”,一个8个字段。
出参则是“每一天的日期、日人数、总人数”,所以出参可以认为是每一天数据的集合,一个List。
C、用Navicat保证SQL的正确:
这里只展示最终方案:
D、用JDBCTemplate编写实现类
需要调用的方法是query方法:
然后来分析一下怎么处理query方法的三个入参.
a)预定义语句
因为8个入参是动态的,所以SQL是要进行拼接的,SQL要用StringBuffer。
另外,因为是使用的JDBCTemplate,动态查询的入参要用'?'进行替代,不能像我们用的工具类那样,直接把入参的名字拼写到SQL中,如
上图还使用了CONCAT()函数,把字符串模糊搜索的格式 '%关键字%'拼出来。
b)因为步骤B已经提到出参是“每一天的日期、日人数、总人数”,所以要在Core包下面新增一个POJO,用来保证SQL的结果(getter、setter、toString略):
c)除了上面使用问号替代入参,还要处理入参个数不确定的问题。
当时考虑了很久,也没想出好办法。后面点开query方法的源码,发现是这样的:
查看源码才发现,query方法的第三个可变参数实际上是一个对象数组,那参数不确定的问题也能解决了:
用一个List接收参数:
然后把List转成数组:
最后展示该service名称:
E、接口调用:
遇到的问题
收获
明天的计划
1、完成饼图接口
2、完成导出Excel接口
进度
现在是考虑新增一个通过导入EXCEL生成档案的接口,但是这个接口难度不低,也没看过相关的东西,压力山大
评论