BeanQuery复用ApacheCommonsBeanUtils,ApacheCommonsCollections和JavaHamcrest来简化对Bean(集合)的排序,过滤和转换。
文档
阅读使用说明来学习怎么使用BeanQueryExample.java用Junit测试用例的方式展示用法。快速入门
BeanQuery的使用非常简单也很直接,例子代码如下:
//静态导入BeanQueryimportstaticcn.jimmyshi.beanquery.BeanQuery.*;//使用select、from、where、orderBy、desc和asc来组装一个Query,然后执行execute方法来获得结果。List<Map<String,Object>>result=select("price,name,mainAuthor.nameasmainAuthorName").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组成:
key=price,value=book.getPrice()key=name,value=book.getName()key=mainAuthorName,value=book.getMainAuthor().getName()
评论