List<Map<String, Object> 中多个条件查询

  在项目中,我们都尽量通过各层之间松耦合来降低故障的传递性,使各层除了部分业务有关联性之外,程序运行互不干扰。这时,页面应用和数据库之间的无直接联系的,而是通过后台应用的接口来获取数据,即在结构为List<Map<String, Object> 查询数据,又不想是满屏的if else语句,所以找一个比较好的实现方法,这里记录下。

 1 List<Map<String,Object>> resultList=new ArrayList<>();
 2
 3 for (Map<String,Object> oneResult: allResultList){
 4     if (!sex.equals("")){
 5         if (!(sex.contains(oneResult.get("sex").toString())))
 6             continue;
 7     }
 8     if (!age.equals("")){
 9         if (!(age.contains(oneResult.get("age").toString())))
10             continue;
11
12     }
13     if (!adress.equals("")){
14         if (!(adress.equals(oneResult.get("adress").toString())))
15             continue;
16
17     }
18     if (!weight.equals("")){
19         if (!(weight.equals(oneResult.get("weight").toString())))
20             continue;
21
22     }
23     resultList.add(oneResult);
24 }
25 return resultList;

先这样,在想好办法

原文地址:https://www.cnblogs.com/longa/p/10938219.html

时间: 2024-11-05 20:45:05

List<Map<String, Object> 中多个条件查询的相关文章

javaBean与Map&lt;String,Object&gt;互转

1. 为什么要实现javaBean与Map<String,Object>相互转换? 用过spring的都知道spring的MVC框架中有一个BaseCommandController对象,利用这个对象我们就可以很方便的将从客户端传递过来的参数封装到一个JavaBean对象中去,而不需要我们request.getParameter("name");bean.setName(name);了,从而也简化了不少的工作.如果大家用过BeanUtils.populate的话,就知道,这

今天学会了对List&lt;Map&lt;String,Object&gt;&gt;的排序

Collections.sort(dyList, new Comparator<Map<String, Object>>() { public int compare(Map<String, Object> arg0, Map<String, Object> arg1) { int map1value=0; int map2value=0; if(arg0.get("getlicenseDate")!=null&&!arg

List&lt;map&lt;String,Object&gt;&gt;

List<Map<String, Object>> list = sendService.getApproveMsgToMap(); //第一种 //遍历map for (Map<String, Object> m : list) { for (String k : m.keySet()) { System.out.println(k + " : " + m.get(k)); } } //第二种 for (int i = 0; i < list

如何过滤List&lt;Map&lt;String,Object&gt;&gt; 中的重复Map

最近遇到一个问题,就是如何过滤一个List<Map<String,Object>> 中重复的Map,废话不多说,直接上代码. //去除重复的Map //cfArraylist 表示重复的 List<Map<String,Object>> //listMap 表示去重复数据后的 List<Map<String,Object>> Map<String, Map> msp = new HashMap<String, Map

分页查询和分页缓存查询,List&lt;Map&lt;String, Object&gt;&gt;遍历和Map遍历

分页查询 String sql = "返回所有符合条件记录的待分页SQL语句"; int start = (page - 1) * limit + 1; int end = page * limit; sql = "select * from (select fulltable.*, ROWNUM RN from (" + sql + ") fulltable where ROWNUM <= " + end + ") where

对List&lt;Map&lt;String,Object&gt;&gt; 进行排序

1 package lltse.base.collectiondemo; 2 3 import java.util.ArrayList; 4 import java.util.Collections; 5 import java.util.Comparator; 6 import java.util.HashMap; 7 import java.util.List; 8 import java.util.Map; 9 import java.util.Random; 10 11 12 publi

将Map&lt;String, List&lt;Map&lt;String,Object&gt;&gt;&gt;进行排序

首先我贴上我的代码,刚开始我也不知道怎么排序还写了一些方法,最后请教群里的大神解决了 public Map<String, List<Map<String,Object>>> getGrowList(String id){ List<Map<String, Object>> growList = mentDao.getGrowList(id); SortedMap<String, List<Map<String,Object&g

MyBatis 返回Map&lt;String,Object&gt;类型

<resultMap type="map" id="stringMap"> <result property="contentIntr" column="contentIntr" javaType="string" /> </resultMap> <!-- 导出所有数据 --> <select id="exportAll" resul

对List&lt;Map&lt;String, Object&gt;&gt;集合排序

private void mySort(List<Map<String, Object>> list) { //list为待排序的集合,按SEQ字段排序 Comparator<Map<String, String>> mapComprator = new Comparator<Map<String, String>>() { @Override public int compare(Map<String, String>

List&lt;Map&lt;String, Object&gt;&gt;相关

2016年8月6日13:53:00 --------------------------- List<Map<String, Object>> List集合新增列 则需要: List<Map<String, Object>> list_new = new ArrayList<Map<String, Object>>(); //新建list集合对象,用于存储新的数据 for (Map<String, Object> map