JOOQ的模糊查询

public List<Entity> findList(RequestModel model) {
return this.findList(() -> dsl()
.select()
.from(meetingInformation)
.where(initConditionUsingEntity(model, (c, r, e) -> {
Condition condition = c;
if (Objects.nonNull(model.getDName())) {
condition = condition.and(meetingInformation.D_NAME.like(concat("%", e.getDName(), "%")));
}
if (Objects.nonNull(model.getTopic())) {
condition = condition.and(meetingInformation.TOPIC.like(concat("%", e.getTopic(), "%")));

}
if (Objects.nonNull(model.getStartTime())) {
condition = condition.and(meetingInformation.D_TIME.ge(model.getStartTime()));
}
if (Objects.nonNull(model.getCompletedTime())) {
condition = condition.and(meetingInformation.D_TIME.le(model.getCompletedTime()));

}
return condition;
}, EJLambda.predicateTrue(), field -> field.getName().matches("(d_name|topic)")))
.orderBy(meetingInformation.D_TIME.desc().nullsLast())
.fetch().into(entityClass()), depthTree());
}


posted on 2020-08-05 09:51  小甜瓜安东泥  阅读(719)  评论(0编辑  收藏  举报