我想对Dropwizard / JDBI3使用可选过滤。我以为可以用可选参数和SQL完成。 我有以下DAO查询:
@SqlQuery("SELECT t.tag_uuid as tag_uuid, t.name as name FROM tags t WHERE (:archived IS NULL OR :archived = t.archived)")
public List<Tag> fetchTags(@Define("cond") Optional<Boolean> archived);
}
但是此函数最终出现错误,无法处理查询。
如果JDBI 3不支持optional,那么添加动态查询或动态条件的正确方法是什么。我在此查询中也有一个Textsearch字段和Order By。
我不想将模板与UseStringTemplate3StatementLocator
一起使用
因为此参数作为请求中的查询参数出现,因此我需要检查SQLInjections。
归档此文件的正式方法是什么?另外,如果我想添加动态的订购者。 我当时想制作多个SQLQuery函数,但这似乎效率不高,因为使用所有过滤器和命令及其组合,我最终得到10个不同的函数。