一、使用场景。
数据生成后,需要进行SQL校验。SQL校验有固定的模板,在传入动态参数,提高到模板的复用性。其中数据库有两张表audit_check表,里面存入的是sql模板。另一张是audit_check_result表,存入的是sql执行结果表。
使用mybatis将audit_check表中sql模板全部查出后,再将每条SQL传入动态参数,挨个执行。
二、SQL模板举例
select count(1) from AAA t
where (t.b is null or t.b= ' ') and t.c='221'
and t.cjrq = #{map.cjrq}
and t.bxjgmc like concat(concat('%',#{map.bxjgmc}),'%')
其中cjrq 和 bxjgmc是需要动态传入的参数,而且是用map封装。
三、使用mybatis查出所有模板
MyBatisSqlSessionUtil myBatisSqlSessionUtil = new MyBatisSqlSessionUtil();
//sql存储表
AuditCheckMapper auditCheckMapper = myBatisSqlSessionUtil.getMapper(AuditCheckMapper.class);
List<AuditCheck> auditChecks = auditCheckMapper.selectAll();
四、循环执行每个sql