public Flux<Users> findAll() {
return Mono.from(connectionFactory.create())
.flatMap((c) -> Mono.from(c.createStatement("select id,firstname,lastname from users")
.execute())
.doFinally((st) -> close(c)))
.flatMapMany(result -> Flux.from(result.map((row, meta) -> {
Users acc = new Users();
acc.setId(row.get("id", Long.class));
acc.setFirstname(row.get("firstname", String.class));
acc.setLastname(row.get("lastname", String.class));
return acc;
})));
}
@Query("select " +
"count(1) " +
"from user u" +
"left join user_role ur on (u.id = ur.role_id) " +
"where :sw_condition"
)
Mono<Long> countRecordNum(String sw_condition);
查询
public Flux<id> recruitersPublishedJobAt(String day) {
return db.execute("select id from job where date(create_time) = :day")
.bind("day", day)
.as(Long.class)
.fetch().all();
}