Java工具库 Bean-Query 功能改进版 1.1.3 已发布
jopen 9年前
Bean Query 复用Apache Commons BeanUtils, Apache Commons Collections和Java Hamcrest
来简化对Bean(集合)的排序,过滤和转换。
文档
- 阅读 使用说明来学习怎么使用
- BeanQueryExample.java用Junit测试用例的方式展示用法。
快速入门
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 as mainAuthorName") .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()
Bean-Query 功能改进版(1.1.3)已发布,修改内容:
-
添加BeanQuery.nested()方法,调用该方法后,具有同样前缀的属性或者别名会被放到一个Map中返回,详情请看Allow format result into a map
-
把BeanQuery.selectBean方法标为@deprecated,并添加同一样功能的方法,命名为BeanQuery.select
Bean Query 复用Apache Commons BeanUtils, Apache Commons Collections和Java Hamcrest
来简化对Bean(集合)的排序,过滤和转换。
文档
-
阅读 使用说明来学习怎么使用
-
BeanQueryExample.java用Junit测试用例的方式展示用法。