Bean QueryJava工具庫
Bean Query 復(fù)用Apache Commons BeanUtils, Apache Commons Collections和Java Hamcrest
來簡化對Bean(集合)的排序,過濾和轉(zhuǎn)換。
文檔
- 閱讀 使用說明來學習怎么使用
- BeanQueryExample.java用Junit測試用例的方式展示用法。
快速入門
BeanQuery的使用非常簡單也很直接,例子代碼如下:
//靜態(tài)導(dǎo)入BeanQuery
import static cn.jimmyshi.beanquery.BeanQuery.*;
//使用 select、from、where、orderBy、desc和asc來組裝一個Query,然后執(zhí)行execute方法來獲得結(jié)果。
List<Map<String, Object>> result = select("price,name,mainAuthor.name as mainAuthorName")
.from(bookCollection)
.where(
//選擇name屬性值是"Book2"或者以“Book1”開頭
anyOf(
value("name", startsWith("Book1")),
value("name", is("Book2"))
),
//并且prince的值位于區(qū)間(53,65)
allOf(
value("price", greaterThan(53d)),
value("price",lessThan(65d))
)
)
.orderBy("name").desc()//根據(jù)"name"屬性按照倒序?qū)Y(jié)果進行排列
.execute();
執(zhí)行完以上代碼后,result列表中的每個Map都是java.util.LinkedHashMap實例,每個Map的都由下面的這三個Entry組成:
- key=price, value=book.getPrice()
- key=name, value=book.getName()
- key=mainAuthorName, value=book.getMainAuthor().getName()
評論
圖片
表情
