私のコードが機能しない理由を理解できたら助かりますか?JDBCTemplate queryForMapは、抽出された行の値を比較して置き換えます。
データベースから2列の値を取得し、K_PARAMが自分のキーでL_PARAMが自分の値であるハッシュマップに値を格納しようとしています。次に、私が抽出している行から2文字を比較して、これらの2文字がキーに等しいかどうかを確認したいと思います。それらが等しければ、キーを値に置き換えます。
ありがとうございます。これはコードです:
if (action.equals("RP")) {
if (marqueCarte = null) {
jdbcTemplate.query(" select K_PARAM, L_PARAM from DLCOA.DLC_ADM_PARAMS where K_CHX_PARAM = '50'", new ResultSetExtractor<Map>(){
@Override
public Map extractData(ResultSet rs) throws SQLException,DataAccessException {
HashMap<String,String> marqueCarte = new HashMap<String,String>();
while (rs.next()) {
marqueCarte.put(rs.getString("K_PARAM"),rs.getString("L_PARAM"));
if (line.contains("blocE")) {
if (line.substring(line.indexOf("blocE") + 15, line.indexOf("blocE") + 15 + (line.substring(line.indexOf("blocE")+15)).indexOf("#")).equals(rs.getString("K_PARAM"))){
line = line.replace(line.substring(line.indexOf("blocE") + 15, line.indexOf("blocE") + 15 + (line.substring(line.indexOf("blocE")+15)).indexOf("#")),rs.getString("L_PARAM"));
}
}
}
return marqueCarte;
}
}
}
}
あなたの正確な問題は何ですか?より具体的にする必要があります。あなたのコードを置き換えることは理解しにくいです。ある種のパターンがあれば、少なくともコードを単純化し明確にするために正規表現を使うことができます。 – RubioRic
実際には、問題はハッシュマップとメソッドの後にあります。もしjavaが私のコンストラクタを再調整しなければ、これは私のデータプロセッサにあります。次にラインをパースし、2のcaractereをハッシュマップの値に置き換えます。 –
2つの問題があります(1)データはDBにありますが、ハッシュマップには格納されておらず、(2)置換も機能していません。私はあなたがこのような何かをしようとしていると思う********** blocE ***** KEY ****** - > ********** bloc ** *** VALUE ******これはより効率的な方法で達成することができます。この情報を含めるには、質問を編集する必要があります。 – RubioRic