- 浏览: 3431471 次
- 性别:
- 来自: 珠海
文章分类
- 全部博客 (1633)
- Java (250)
- Android&HTML5 (111)
- Struts (10)
- Spring (236)
- Hibernate&MyBatis (115)
- SSH (49)
- jQuery插件收集 (55)
- Javascript (145)
- PHP (77)
- REST&WebService (18)
- BIRT (27)
- .NET (7)
- Database (105)
- 设计模式 (16)
- 自动化和测试 (19)
- Maven&Ant (43)
- 工作流 (36)
- 开源应用 (156)
- 其他 (16)
- 前台&美工 (119)
- 工作积累 (0)
- OS&Docker (83)
- Python&爬虫 (28)
- 工具软件 (157)
- 问题收集 (61)
- OFbiz (6)
- noSQL (12)
最新评论
-
HEZR曾嶸:
你好博主,这个不是很理解,能解释一下嘛//左边+1,上边+1, ...
java 两字符串相似度计算算法 -
天使建站:
写得不错,可以看这里,和这里的这篇文章一起看,有 ...
jquery 遍历对象、数组、集合 -
xue88ming:
很有用,谢谢
@PathVariable映射出现错误: Name for argument type -
jnjeC:
厉害,困扰了我很久
MyBatis排序时使用order by 动态参数时需要注意,用$而不是# -
TopLongMan:
非常好,很实用啊。。
PostgreSQL递归查询实现树状结构查询
http://www.java2s.com/Code/Java/Apache-Common/PredicateChainChainingoftwoormorepredicates.htm
Bean元素对象:
查询:存在一个List<Person>的列表,查询这个列表的元素,这个元素的firstName="ganesh"和lastName="gowtham"的元素
Map元素对象查询:存在一个List<Map>的列表,查询这个列表的元素,这个元素的firstName="ganesh"和lastName="gowtham"的元素
Bean元素对象:
package com.pandy.search4mList; import org.apache.commons.lang.builder.ToStringBuilder; /** * Copyright 2009 @ jPractices v 1.0 * @SVN URL : http://jpractices.googlecode.com * @author Ganesh Gowtham * @Homepage : http://ganesh.gowtham.googlepages.com */ public class Person { private String firstName; private String lastName; private int salary; public Person(String firstName, String lastName, int salary) { super(); this.firstName = firstName; this.lastName = lastName; this.salary = salary; } public String getFirstName() { return firstName; } public void setFirstName(String firstName) { this.firstName = firstName; } public String getLastName() { return lastName; } public void setLastName(String lastName) { this.lastName = lastName; } public int getSalary() { return salary; } public void setSalary(int salary) { this.salary = salary; } @Override public String toString() { return ToStringBuilder.reflectionToString(this); } }
查询:存在一个List<Person>的列表,查询这个列表的元素,这个元素的firstName="ganesh"和lastName="gowtham"的元素
package com.pandy.search4mList; import org.apache.commons.beanutils.BeanPredicate; import org.apache.commons.collections.CollectionUtils; import org.apache.commons.collections.Predicate; import org.apache.commons.collections.PredicateUtils; import org.apache.commons.collections.functors.EqualPredicate; import java.util.ArrayList; import java.util.Collection; import java.util.List; /** * Copyright 2009 @ jPractices v 1.0 * * @author Ganesh Gowtham * @SVN URL : http://jpractices.googlecode.com * @Homepage : http://ganesh.gowtham.googlepages.com */ public class BeanPredicateChainExample { List<Person> personList = new ArrayList<Person>(); /** * Basic method which creates the list of person object's */ void setUpData() { personList.add(new Person("ganesh", "gowtham", 35000)); personList.add(new Person("britney", "spears", 45000)); personList.add(new Person("ganesh", "gowtham", 36000)); personList.add(new Person("ganesh", "dummy", 45000)); } /** * Here we are adding multiple predicate * filters the collection so that final person object will contain * firstName as "ganesh" & lastName as "gowtham" */ void filterDataUsingMultipleCriteria() { EqualPredicate firstNameEqlPredicate = new EqualPredicate("ganesh"); BeanPredicate firtsNameBeanPredicate = new BeanPredicate("firstName", firstNameEqlPredicate); EqualPredicate lastNameEqlPredicate2 = new EqualPredicate("gowtham"); BeanPredicate lastNameBeanPredicate2 = new BeanPredicate("lastName", lastNameEqlPredicate2); Predicate[] allPredicateArray = {firtsNameBeanPredicate, lastNameBeanPredicate2}; Predicate allPredicate = PredicateUtils.allPredicate(allPredicateArray); Collection<Person> filteredCollection = CollectionUtils.select(personList, allPredicate); for (Person person : filteredCollection) { System.out.println(person); } } public static void main(String[] args) { BeanPredicateChainExample chainExample = new BeanPredicateChainExample(); chainExample.setUpData(); chainExample.filterDataUsingMultipleCriteria(); } }
Map元素对象查询:存在一个List<Map>的列表,查询这个列表的元素,这个元素的firstName="ganesh"和lastName="gowtham"的元素
package com.pandy.search4mList; import org.apache.commons.beanutils.BeanPredicate; import org.apache.commons.collections.CollectionUtils; import org.apache.commons.collections.Predicate; import org.apache.commons.collections.PredicateUtils; import org.apache.commons.collections.functors.EqualPredicate; import java.util.*; /** * Copyright 2009 @ jPractices v 1.0 * * @author Ganesh Gowtham * @SVN URL : http://jpractices.googlecode.com * @Homepage : http://ganesh.gowtham.googlepages.com */ public class MapPredicateChainExample { List<Map<String,Object>> list = new ArrayList<Map<String,Object>>(); /** * Basic method which creates the list of person object's */ void setUpData() { Map<String,Object> map = new HashMap<String,Object>(); map.put("firstName","ganesh"); map.put("lastName","gowtham"); map.put("salary",35000); list.add(map); map = new HashMap<String,Object>(); map.put("firstName","britney"); map.put("lastName","spears"); map.put("salary",45000); list.add(map); map = new HashMap<String,Object>(); map.put("firstName","ganesh"); map.put("lastName","gowtham"); map.put("salary",36000); list.add(map); map = new HashMap<String,Object>(); map.put("firstName","ganesh"); map.put("lastName","dummy"); map.put("salary",45000); list.add(map); } /** * Here we are adding multiple predicate * filters the collection so that final person object will contain * firstName as "ganesh" & lastName as "gowtham" */ void filterDataUsingMultipleCriteria() { EqualPredicate firstNameEqlPredicate = new EqualPredicate("ganesh"); BeanPredicate firtsNameBeanPredicate = new BeanPredicate("firstName", firstNameEqlPredicate); EqualPredicate lastNameEqlPredicate2 = new EqualPredicate("gowtham"); BeanPredicate lastNameBeanPredicate2 = new BeanPredicate("lastName", lastNameEqlPredicate2); Predicate[] allPredicateArray = {firtsNameBeanPredicate, lastNameBeanPredicate2}; Predicate allPredicate = PredicateUtils.allPredicate(allPredicateArray); Collection<Map<String,Object>> filteredCollection = CollectionUtils.select(list, allPredicate); for (Map<String,Object> person : filteredCollection) { System.out.println(person); } } public static void main(String[] args) { MapPredicateChainExample chainExample = new MapPredicateChainExample(); chainExample.setUpData(); chainExample.filterDataUsingMultipleCriteria(); } }
发表评论
-
分布式存储系统GlusterFS安装配置
2016-06-27 14:51 1038http://navyaijm.blog.51cto.com/ ... -
Java Comparable和Comparator
2016-06-26 08:52 706http://my.oschina.net/android52 ... -
分布式查询 presto 入门安装使用
2016-06-24 15:44 2507http://my.oschina.net/chengxiao ... -
Java集合框架之fastutil & koloboke
2016-06-23 14:04 2480Java集合框架之fastutil http://rensan ... -
跟我学习dubbo
2016-06-17 15:20 1075跟我学习dubbo-目录 http://bluereader. ... -
JavaMelody监控web服务器
2016-06-17 14:20 1185JavaMelody监控web服务器 http://my.os ... -
freemarker使用记录
2016-06-08 16:24 1313freeMarker语法 http://uule.iteye. ... -
freemarker判断是否为空
2016-06-08 16:03 2http://www.oschina.net/code/sni ... -
ehcache 分布式支持
2016-06-05 22:26 1104原文 http://my.oschina.net/glenxu ... -
Intellij IDEA插件开发入门
2016-05-26 11:42 2889原文: http://blog.csdn.net/dc_726 ... -
阿里巴巴Druid数据源的配置与使用
2016-05-24 17:42 1551http://my.oschina.net/wjme/blog ... -
分布式任务调度组件 Uncode-Schedule
2016-05-13 14:47 2293http://www.oschina.net/p/uncode ... -
mysql中间件研究(Atlas,cobar,TDDL), 分库分表插件
2016-05-09 14:15 3457http://www.guokr.com/blog/47576 ... -
Java集合: Queue和Deque
2016-05-09 09:49 1869Queue http://my.oschina.net/kev ... -
使用gzip优化web应用(filter实现)
2016-05-07 01:45 1034使用gzip优化web应用(filter实现) http:// ... -
Fedora安装Redis
2016-05-04 08:56 1416管理工具: centos6.3下安装phpredisadmin ... -
redis-install.sh
2016-05-04 08:56 4#!/bin/bash # From here: http: ... -
redis 集群中Session解决方案之Spring Session
2016-05-04 08:54 1324集群中Session解决方案之Spring Session h ... -
使用Spring-data进行Redis操作
2016-05-04 08:54 4806使用Spring-data进行Redis操作 http://z ... -
Shiro集群实现
2016-05-04 08:53 2318apache shiro集群实现(一) session共享 h ...
相关推荐
"org.apache.commons jar" 指的是这个项目中相关组件的集合,通常包含多个模块,每个模块专注于特定的编程任务。 1. **Apache Commons Lang**: 这个模块提供了许多高级字符串处理、日期和时间操作、数学计算以及...
在处理Excel2007(.xlsx)文件时,可能会遇到`org.apache.commons.collections`找不到的错误,这个问题通常是由于缺少或版本不兼容的Apache Commons Collections库导致的。本文将深入探讨如何利用`commons-...
1. **commons-collections-3.2.1.jar**:这是Apache Commons Collections库,提供了许多实用的集合框架扩展,包括一些辅助类和算法,DBCP依赖于这个库来执行一些功能。 2. **commons-dbcp-1.2.1.jar**:这是Apache ...
3. **Commons Collections**: 提供了丰富的集合框架扩展,包括更强大的列表、映射和队列实现,以及各种集合操作工具。 4. **Commons BeanUtils**: 提供了基于JavaBeans属性的操作工具,简化了对象之间的属性复制和...
Apache Commons Collections是Apache软件基金会开发的一个Java库,它提供了对集合框架的扩展和增强功能,极大地丰富了Java的集合操作。这个库包含了多种实用的数据结构、算法和集合操作工具,可以提升开发效率并优化...
在这个压缩包中,你可能会找到如 Commons Lang、Commons IO、Commons Collections、Commons BeanUtils 等多个子项目的集合。 1. **Commons Lang**:这是 Apache Commons 中最常用的包之一,提供了大量的 Java 语言...
在本次讨论中,我们将深入探讨"org.apache.commons.collections-3.2.1.jar"这个特定版本的库,了解它所包含的关键组件和使用场景。 Apache Commons Collections 3.2.1版是一个稳定且广泛使用的版本,它包含了丰富的...
3. **Commons Collections**:提供了对Java集合框架的增强,包括新的集合实现、算法、迭代器工厂等。 4. **Commons BeanUtils**:简化了JavaBeans对象的操作,提供了属性复制、类型转换等便利方法。 5. **Commons ...
org.apache.commons 系列的 JAR集合,用以解决异常,包含内容如下: commons-cli-1.0 commons-codec-1.3 commons-collections-3.1 commons-dbcp commons-digester commons-discovery-0.2 commons-fileupload-1.2.1 ...
`org.apache.commons.collections.Transformer` 是Apache Commons Collections库中的一个接口,它定义了一个将输入对象转换为输出对象的策略。这个接口在处理集合数据时非常有用,可以用来动态地转换集合中的每个...
2. **Apache Commons Collections** - `commons-collections-3.2.2.jar` 这个库扩展了Java集合框架,提供了许多额外的数据结构和算法。它包含: - 高级集合实现:如双向队列、堆栈、映射、多重集(Multiset)等。 ...
3. **Commons Collections**: 提供了对Java集合框架的增强和补充,如集合的转换、排序、过滤等。它还包括一些特殊类型的集合,如双向队列、映射集等。 4. **Commons BeanUtils**: 这个模块简化了JavaBean对象之间的...
2. **Commons Collections**: 这个模块提供了对Java集合框架的增强,包括新的集合实现、迭代器工厂、比较器、转换器等。它使得对集合的操作更加灵活和高效。 3. **Commons IO**: 专注于输入/输出操作,提供了许多...
标题“org.apache.commons jar包大全”表明这是一个包含所有Apache Commons项目中jar包的集合。这些jar包通常是开发者在进行Java开发时,为了增强功能或简化代码而引入的外部依赖。Apache Commons项目下的jar包有...
总结起来,Apache Commons Collections 3.2.2是Java开发中的重要辅助工具,它提供的丰富功能和强大扩展性,使得开发者能够更加高效地处理集合对象,提升开发效率。无论是新手还是经验丰富的开发者,都应该熟悉并掌握...
在"org.apache.commons 所有jar包 非常实用"这个压缩包中,你将找到一系列与 Apache Commons 相关的 jar 包,这些 jar 包包含了多种模块,每个模块都有其特定的用途。 1. **Commons Lang**: 这个模块提供了一些高级...
《Apache Commons Collections 3.2.1:Java集合框架的强大扩展》 Apache Commons Collections是Apache软件基金会的一个项目,它提供了一系列强大的、用于处理Java集合框架的工具类和算法。在这个项目中,`commons-...
Apache Commons Collections是Java开发中常用的一个开源库,它为Java集合框架提供了大量的实用工具类和扩展。"commons-collections-3.2.jar"是该库的版本3.2的实现,它包含了一系列高效、实用且功能丰富的数据结构和...