2012-11-02 4 views
0

나는 bank_name을 기반으로 특정 데이터베이스를 연결해야하는 프로젝트에서 작업하고 있습니다. java, struts2, hibernate를 사용하고 있습니다. 예 :지도에서지도의 키를 기반으로 값 검색

여기 SBI
{'sbi': 
    {'host':'111.111.15.45','port':3306,'username':'xxxx','password':'xxxx','database':'sbidb'} 

다음 값으로 다른지도 존재하는 키인 BANK_NAME이다. 그래서 나는 bank_name (예 : 'sbi')을 기반으로 host, port, db와 같은 모든 값을 검색하려고합니다. 어떻게 이것을 수행할까요?

답변

1

이것은 간단합니다.

Map<String,String> sbiMap = map.get("sbi"); 
    Set<String> keys = sbiMap.keySet(); 
    for(String key: keys){ 
    System.out.println("key="+key+" value = " + sbiMap.get(key)); 
    } 

이것은 모든 내부 키와 해당 값을 출력 할 것이다 :

Map<String, Map<String, String>> map = new HashMap<String, Map<String, String>>(); 
..... 

는 이제 다음과 같이 내부지도에서 키 값 쌍을 검색 할 수 있습니다

당신이지도는이 같은 것입니다 sbi에 대한지도.

+0

완벽한, 작동, –

+0

@arvin_codeHunk : 알아두면 좋네. 대답을 수락하는 것을 잊지 마십시오. –

0

Map<String,Map<String,String>>이 있어야합니다. 내부지도의 키를 얻으려면지도의 keySet() 기능을 사용하십시오. 예 :

Map<String,Map<String,String>> X; 
Set<String> sbikeys = X.get('sbi').keySet(); 
0

당신은

처음으로 사용 후 SBI 구체적인 내용
HashMap<String, String> details = new HashMap<String,String>(); 

    details.put("host","XXXX); 

    details.put("port", "101111"); 

    ...... 

를 채울, SBI의 세부 사항을 넣어이

Map<String, Map<String,String> bankdetails = new HashMap<String, Map<String,String>(); 

을 달성하기 위해 다음과 같은 데이터 구조를 선택적으로 사용할 수 있습니다 sbi의 세부 사항은 다음과 같습니다.

bankdetails.put(sbi ,details); 
+0

10 개 이상의 은행이 있고 모든 세부 사항이 다르면 어떻게해야합니까? –

+0

내 말은, bankdetails.put (sbi, details); details.put ("host", "yyyy")와 같은 다른 deatils를 다른 은행에 넣으려는 경우 세부 정보와 같은 다른지도를 만들어야합니다. –

관련 문제