0

bank_name に基づいて特定のデータベースに接続する必要があるプロジェクトに取り組んでいます。Java、struts2、hibernate を使用しています。例えば:

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

ここでsbiキーである bank_name で、値として別のマップがあります。そのため、bank_name (例: 'sbi') に基づいて、host、port、db などのすべての値を取得したいと考えています。これを達成する方法は?

4

3 に答える 3

1

これは簡単です。

You Map は次のようなものです。

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

以下のように、内部マップからキーと値のペアを取得できます。

  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));
  }

これにより、 のマップ内のすべての内部キーと対応する値が出力されますsbi

于 2012-11-02T05:29:27.457 に答える
0

これを実現するには、次のデータ構造を使用できます

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

sbiの詳細を入れるには、

最初にsbi固有の詳細を入力します

HashMap<String, String> details =  new HashMap<String,String>();

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

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

  ......

次に、以下のようにsbiの詳細を入力するために使用します

bankdetails.put(sbi ,details);
于 2012-11-02T05:37:08.957 に答える
0

が必要Map<String,Map<String,String>>です。内部マップのキーを取得するにkeySet()は、マップの関数を使用します。元:

Map<String,Map<String,String>> X;
Set<String> sbikeys = X.get('sbi').keySet();
于 2012-11-02T05:30:09.437 に答える