1.第一步:执行sql前的参数处理,其目的就是转换查询参数,拼接sql,最终拼接成sql:select * from user where name=? and age=? 这种形式,具体处理的思想是借鉴了mybatis的设计思想,用mybati的标签处理来设计的
其中用到了
org.apache.ibatis.scripting.xmltags.ExpressionEvaluator来验证mybaits中的标签if语句是否成立,比如:
<if page_name!='全部页面'>AND page_name=#{page_name}</if> 根据传入的参数进行判断,如果成立的话就把if标签中的条件拼接到sql中
2.执行SQL:最后用Spring JdbcTemplate 来执行sql
3.对执行后的数据进行进一步的加工
比如计算同比和环比,在参数的基础之上把查询时间修改下,然后在执行sql,然后对两次计算的结果进行比值