Ответ 1
Похоже, что вы должны добавить проценты% к связанной переменной:
@SqlQuery("SELECT * FROM Table WHERE column LIKE :thingName")
public Set<Things> getThings(@Bind("thingName") String thingName); // where thingName = "%" + thingName + "%"
Смотрите также: https://groups.google.com/forum/?fromgroups#!topic/jdbi/EwUi2jAEPdk
Цитата от Брайана Маккаллистера
Использование файла привязки: foo создает подготовленный оператор и связывает его значение в этом случае. Вам нужно, чтобы% было частью связанного значения, или вам не нужно использовать привязки к подготовленному оператору.
Подход 1 (более безопасный и, как правило, лучший): "выберите... из foo, где name like: name" и привяжите значение ( "%" + имя)
Подход 2 (который открывает вас до SQL-инъекции):
"выберите... из foo, где имя типа '%'" и define ( "name", name) (или в sql-объекте, (имя @Define ( "name" )), которое помещает имя в качестве литерала в ваше выражение.
Главное, что символ% является частью значения, которое вы тестируете, а не является частью инструкции.