Mysql
 sql >> Base de données >  >> RDS >> Mysql

Comment créer une requête SQL dynamique lors de l'exécution à l'aide de l'API Sql Object de JDBI ?

JDBI n'est pas très bien adapté à la construction de requêtes dynamiques. À mon avis, l'intérêt de cette bibliothèque est de séparer autant que possible le code et les requêtes SQL.

Cependant, votre cas particulier peut être résolu au moyen de SQL :

COALESCE(:foo, foo) 

si 'foo' est le nom de la colonne dans la table, et :foo sera résolu en NULL, alors mysql SET sera effectivement

SET foo=foo

c'est-à-dire qu'il ne fera rien (ce qui est le comportement souhaité dans votre cas). Si :foo n'est pas nul, il sera équivalent à

SET foo=:foo