5

この質問が何度も聞かれることは知っていますが、選択クエリに複数のパラメーターを含めるときにガイドに従うと、まだ問題が発生します。ここに私の設定ファイルがあります:

<select id="selectByDate" parameterType="map" resultMap="campaignStats">
    SELECT * FROM CampaignStats WHERE statsDate >= #{start} AND statsDate <= #{end}
</select>

ここに私のJavaコードがあります:

public List<DpCampaignStats> selectByDate(Date start, Date end){
    SqlSession session = sqlSessionFactory.openSession();
    try {
        Map<String, Date> map = new HashMap<String, Date>();
        map.put("start", start);
        map.put("end", end);
        List<DpCampaignStats> list = session.selectList("DpCampaignStats.selectByDate", map);
        return list;
    } finally {
        session.close();
    }
}

しかし、エラー: java.lang.ExceptionInInitializerError が表示されます。これは、構成ファイルにいくつかのエラーがあり、その理由が見つからないことを意味します。

4

2 に答える 2

11

SQLステートメントをCDATAでラップするだけです。

<![CDATA[
   SELECT * FROM CampaignStats WHERE statsDate >= #{start} AND statsDate <= #{end}
]]>
于 2012-09-20T15:23:45.197 に答える
3

私は自分で答えを見つけました: '<' と '>' は xml ファイルで特定の意味を持つため、'>=' は ' >にする必要があります。=' 一方、'<=' は ' <でなければなりません。='.

于 2012-09-20T05:38:24.863 に答える