Bean Query reuses Apache Commons BeanUtils, Apache Commons Collections, Java Hamcrest to make sorting, filtering and converting a (collection of) java bean(s) easily. Bean Query 复用Apache Commons BeanUtils, Apache Commons Collections, Java Hamcrest 来简化对Bean(集合)的排序,过滤和转换。
Click Here for English version.
Bean Query 复用Apache Commons BeanUtils, Apache Commons Collections, Java Hamcrest
来简化对Bean(集合)的排序,过滤和转换。
BeanQuery的使用非常简单也很直接,例子代码如下:
//静态导入BeanQuery
import static cn.jimmyshi.beanquery.BeanQuery.*;
//使用 select、from、where、orderBy、desc和asc来组装一个Query,然后执行execute方法来获得结果。
List<Map<String, Object>> result = select("price,name,mainAuthor.name, authors[1].name as secondAuthor.name")
.nested()
.from(bookCollection)
.where(
//选择name属性值是"Book2"或者以“Book1”开头
anyOf(
value("name", startsWith("Book1")),
value("name", is("Book2"))
),
//并且prince的值位于区间(53,65)
allOf(
value("price", greaterThan(53d)),
value("price",lessThan(65d))
)
)
.orderBy("name").desc()//根据"name"属性按照倒序对结果进行排列
.execute();
执行完以上代码后,result
列表中的每个Map都是java.util.LinkedHashMap
实例,每个Map的都由下面的这三个Entry组成: