2012-09-19 4 views
5

나는이 질문을 여러 번 물어 알고 내 선택 쿼리에 여러 매개 변수를 포함 할 때 guide을 수행하면 여전히 문제가 발생합니다. 여기 MyBatis의 여러 매개 변수는 무엇입니까?

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

내 자바 코드 : 여기 내 구성 파일입니다

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 내 구성 파일 및 I에 약간의 오차가있는 것을 의미한다 이유를 찾을 수 없습니다.

답변

3

'<'및 '>'은 xml 파일에서 특정 의미를 가지므로 '> ='은 '& gt'이어야합니다. = ''< = '은'&입니다. = '.

+0

>에 '>'의 탈출 필요가 없습니다 – StrekoZ

11

그냥 CDATA 당신에게 SQL 문을 포장 :

<![CDATA[ 
    SELECT * FROM CampaignStats WHERE statsDate >= #{start} AND statsDate <= #{end} 
]]>