我有一些参数可以生成不同的 sql 条件,
Condition con = DSL.trueCondition();
if (StringUtils.isNotEmpty(book.getName)) {
con = con.and(BOOK.NAME.eq(book.getName))
}
if (book.getId > 0) {
con = con.and(BOOK.ID.eq(book.getId))
}
if ...
我想知道是否有通用功能,所以我可以动态生成条件。例如:
public Condition generateCondition(Field<?> field, Object obj, Class<?> type) {
if () {
return DSL.trueCondition();
}
return field.eq(obj, type);
}
我看到这个问题Is there a way to query by example in Jooq?,它对搜索单表很有用,但是当我需要从多个表中搜索时,我不知道该怎么做...