统一添加查询条件
最后更新:2024-05-23 14:51:32
|
状态:未完成
可以实现QueryInterceptor,
prepare:表示在准备创建SQL之前触发,如果需要修改查询条件可以在这一步执行。
before:是在SQL执行之前触发,到这一步时最终SQL已经生成,可以用来保存查询日志
after:在before基础之上,多了SQL执行状态、查询结构及查询耗时
注意当前拦截器有2个prepare方法可以实现,其中有一个是通过存储过程查询
/** * 创建查询SQL之前,可以在这一步修改查询条件 * @param runtime datasource/adapter/jdbctemplate * @param prepare 有或SQL或SQL.id * @param configs 查询条件 * @param conditions 查询条件 * @return RESULT */ default SWITCH prepare(JDBCRuntime runtime, RunPrepare prepare, ConfigStore configs, String ... conditions){ return SWITCH.CONTINUE;} default SWITCH prepare(JDBCRuntime runtime, Procedure procedure, PageNavi navi){ return SWITCH.CONTINUE;} /** * 合计总数之前调用,到这一步SQL已创建完成 * @param runtime datasource/adapter/jdbctemplate * @param run 查询SQL(包含SQL体,查询条件,查询参数值) * @param navi 分页 * @return RESULT */ default SWITCH before(JDBCRuntime runtime, Run run, PageNavi navi){ return SWITCH.CONTINUE;} default SWITCH before(JDBCRuntime runtime, Procedure procedure, List<Parameter> inputs, List<Parameter> outputs, PageNavi navi){ return SWITCH.CONTINUE;} /** * 合计总数之前调用,到这一步SQL已创建完成 * @param runtime datasource/adapter/jdbctemplate * @param success 查询SQL是否执行成功 * @param run 查询SQL(包含SQL体,查询条件,查询参数值) * @param navi 分页 * @param millis 耗时 * @return RESULT */ default SWITCH after(JDBCRuntime runtime, Run run, boolean success, Object result, PageNavi navi, long millis){ return SWITCH.CONTINUE;} default SWITCH after(JDBCRuntime runtime, Procedure procedure, List<Parameter> inputs, List<Parameter> outputs, PageNavi navi, boolean success, Object result, long millis){ return SWITCH.CONTINUE;}