Hi, Remove the <![CDATA[ and ]]> tags, they prevent iBATIS from parsing the <dynamic> tags.
As a general rule of thumb, I would advise to use <![CDATA[ only when needed (ie, when you need to do a greater/lower than comparison in your statement), and I would also restrict its use just around the problematic characters (although it does not make it very readable). Another option to use "<" ">" is to use "<" ">" (not much readable either but I find it better than <![CDATA[). Cheers Jean-Francois -----Original Message----- From: Lihui Pang [mailto:[EMAIL PROTECTED] Sent: Saturday, April 15, 2006 8:04 AM To: [email protected] Subject: question on dynamic query. Thanks for help. The following statement always complain bad grammar. I can't see where it's the problem, neighter can I see the generated SQL statement. Please help. <statement id="getUserProfileList" resultMap="userProfile" parameterClass="java.util.Map"><![CDATA[ SELECT c.First_Name, c.Surname, e.Email_Address FROM Customer c, Email_Address e where c.user_id = e.user_id <dynamic> <isNotNull prepend="AND" property="userName"> lower(trim(c.user_name)) $accountNameOperator$ #userName# </isNotNull> </dynamic> ORDER BY $sortColumn$ $sortDirection$ ]]></statement> yihuayishijie yishuyichunqiu __________________________________________________ Do You Yahoo!? Tired of spam? Yahoo! Mail has the best spam protection around http://mail.yahoo.com
