Uso mybatis per eseguire query SQL nel mio progetto. Devo intercettare la query SQL prima dell'esecuzione per applicare alcune modifiche dinamiche. Ho letto su @Interseptors come questo:Come intercettare e modificare dinamicamente la query sql in mybatis
@Intercepts({@Signature(type= Executor.class, method = "query", args = {...})})
public class ExamplePlugin implements Interceptor {
public Object intercept(Invocation invocation) throws Throwable {
return invocation.proceed();
}
public Object plugin(Object target) {
return Plugin.wrap(target, this);
}
public void setProperties(Properties properties) {
}
}
Ed intercetta davvero esecuzioni, ma non c'è modo di cambiare query SQL dal campo appropriato non è scrivibile. Dovrei creare una nuova istanza di tutto l'oggetto manualmente per sostituire semplicemente sql query? Dov'è il posto giusto per intercettare l'esecuzione della query per cambiarla in modo dinamico? Grazie.