sql >> Base de Datos >  >> RDS >> Mysql

¿Cómo creo una consulta Sql dinámica en tiempo de ejecución usando la API de objetos Sql de JDBI?

JDBI no es muy adecuado para construir consultas dinámicas. En mi opinión, el objetivo de esta biblioteca es separar el código y las consultas SQL tanto como sea posible.

Sin embargo, su caso particular podría resolverse mediante SQL:

COALESCE(:foo, foo) 

si 'foo' es el nombre de la columna en la tabla, y :foo se resolverá como NULL, entonces mysql SET será efectivo

SET foo=foo

es decir, no hará nada (que es el comportamiento deseado en su caso). Si :foo no es nulo, será equivalente a

SET foo=:foo