***外部ネットワークへ完全にできない数年間、同社は、再び出てきた最近少し毛のブログ、最初に行く、ネットワークの外部続くことができるが、プロジェクトはなく、言語のC#から、庭に忙しく果たしてきましたJAVAを置き換えます。
幸いなことに、2つの類似したが、かなり簡単に上げ、最近動作SQLServerデータベースの時点で内部の直接のDataTable DataSetをインストールし、複数の結果セットを取得するために、そのC#のを発見し、JAVA、この
サイドホイールは非常に多く、これが行われますが、C#の利便ほど良好ではないことが必要です。
JdbcTemplateは、現在データベースを操作するために使用し、最終的に良い解決策は、複数の結果セットを取得するために達成することができ、おかげで見つかった https://weiku.co/article/177/ ブロガーが共有しています。
ここではデモがあります
/ ***
*获取多结果集
* @return
* /
パブリックリスト<リスト<地図<文字列オブジェクト>>> getMultiResult(){
文字列のSQL = "1 2 3を選択する選択選択します"。
リスト<リスト<地図<文字列オブジェクト>>>結果は= jdbcTemplate.execute(SQL、(CallableStatementCallback <リスト<リスト<地図<文字列オブジェクト>>>>)CS - > {
リスト<リスト<地図<文字列オブジェクト>>>リスト=新規のArrayList <>();
ブール()= cs.executeを実行し、
(実行){一方
のResultSetたresultSet = cs.getResultSet();
リスト<地図<文字列オブジェクト>>のsubList =新規のArrayList <> ();
(たresultSetつつ。
INT COLCOUNT = meta.getColumnCount()。
地図<文字列、オブジェクト>マップ=新しいHashMapの<>();
以下のために(INT I = 1; I <= COLCOUNT; iは++){
文字列名= meta.getColumnLabel(I)。
map.put(名前、resultSet.getObject(I));
}
subList.add(マップ)
}
list.add(のsubList)。
)(=のcs.getMoreResultsを実行します。
}
リストを返します。
});
結果を返します。
}
主なものは、C#とによる技術選択に処理、Javaのジェネリックを行うには、コールバックオブジェクトを使用することで同じではありませんので、多くの時間は、C#がとして便利ではありませんが、幸いコンパイラは基本的にこれらに対処することができます。
(CallableStatementCallback <リスト<リスト<地図<文字列、オブジェクト>>>>)CSは- > 、ラムダ式をサポートする特定のカテゴリを渡して、このインタフェースを実装することができない場合は、{このコード行は、非常に重要です。