2012-09-19 12 views
5

मुझे पता है कि इस सवाल से कई बार पूछा जाता है और जब भी मैं guide का पालन करता हूं, तो मेरी चुनिंदा क्वेरी में एकाधिक पैरामीटर शामिल करते समय भी मुझे समस्याएं मिलती हैं।MyBatis में एकाधिक पैरामीटर?

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

यहाँ मेरी जावा कोड है:: जिसका मतलब है कि मैं अपने विन्यास फाइल और मैं में कुछ त्रुटियों है java.lang.ExceptionInInitializerError: यहाँ मेरी विन्यास फाइल है

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

लेकिन मैं त्रुटि मिलती है कारण नहीं मिल रहा है।

उत्तर

3

मुझे अपने आप से जवाब मिला है: '<' और '>' का एक्सएमएल फाइलों में कुछ अर्थ हैं, इसलिए '> =' होना चाहिए & gt; = 'जबकि' < = 'होना चाहिए' & लेफ्टिनेंट; = '।

+0

> को '>' के भागने आवश्यक नहीं है – StrekoZ

11

बस आप CDATA में SQL विवरण लपेट:

<![CDATA[ 
    SELECT * FROM CampaignStats WHERE statsDate >= #{start} AND statsDate <= #{end} 
]]> 
संबंधित मुद्दे