Mysql
 sql >> Database >  >> RDS >> Mysql

Come posso creare una query SQL dinamica in fase di esecuzione utilizzando l'API dell'oggetto SQL di JDBI?

JDBI non è molto adatto per la costruzione di query dinamiche. IMO il punto centrale di questa libreria è separare il più possibile il codice e le query SQL.

Tuttavia, il tuo caso particolare potrebbe essere risolto tramite SQL:

COALESCE(:foo, foo) 

se 'foo' è il nome della colonna nella tabella e :foo si risolverà in NULL, allora mysql SET sarà effettivamente

SET foo=foo

cioè non farà nulla (che è il comportamento desiderato nel tuo caso). Se :foo non è null, sarà equivalente a

SET foo=:foo