sql语句配置:<select id="queryJobProjiectCondition" remapResults="true" parameterClass="java.util.HashMap" resultClass="bean.JobProjiect">
select * from IPWF_LOCAL_JOB_PROJECT where 1=1
<isNotNull prepend="and" property="queryJobNumber">
JOB_NUMBER like '%'||#queryJobNumber#||'%'
</isNotNull>
<isNotNull prepend="and" property="queryJobContent">
JOB_CONTENT like '%'||#queryJobContent#||'%'
</isNotNull>
<isNotNull prepend="and" property="queryJobExecutorName">
JOB_EXECUTOR_NAME like '%'||#queryJobExecutorName#||'%'
</isNotNull>
<isNotEmpty prepend="and" property="queryJobCycle">
JOB_CYCLE = #queryJobCycle#
</isNotEmpty>
<isNotEmpty prepend="and" property="queryJobMode">
JOB_MODE = #queryJobMode#
</isNotEmpty>
<isEqual prepend="and" property="queryPeriodOfValidity" compareValue="yes">
<![CDATA[
JOB_STATRTIME <= sysdate and JOB_ENDTIME >= sysdate or JOB_ENDTIME = null 
]]>
< /isEqual>
<isEqual prepend="and" property="queryPeriodOfValidity" compareValue="no">
<![CDATA[
JOB_ENDTIME <= sysdate or JOB_ENDTIME = null 
]]>
< /isEqual>
ORDER  BY S_SEQ_ID DESC
    </select>
出错的代码应该是在下面这段代码中,求高手给我看看是怎么回事<isEqual prepend="and" property="queryPeriodOfValidity" compareValue="yes">
<![CDATA[
JOB_STATRTIME <= sysdate and JOB_ENDTIME >= sysdate or JOB_ENDTIME = null 
]]>
< /isEqual>
<isEqual prepend="and" property="queryPeriodOfValidity" compareValue="no">
<![CDATA[
JOB_ENDTIME <= sysdate or JOB_ENDTIME = null 
]]>
< /isEqual>
报错显示为:java.lang.RuntimeException: Error occurred.  Cause: com.ibatis.common.xml.NodeletException: Error parsing XML.  Cause: java.lang.RuntimeException: Error parsing XPath '/sqlMapConfig/sqlMap'.  Cause: com.ibatis.common.xml.NodeletException: Error parsing XML.  Cause: org.xml.sax.SAXParseException: The content of elements must consist of well-formed character data or up.
Caused by: com.ibatis.common.xml.NodeletException: Error parsing XML.  Cause: java.lang.RuntimeException: Error parsing XPath '/sqlMapConfig/sqlMap'.  Cause: com.ibatis.common.xml.NodeletException: Error parsing XML.  Cause: org.xml.sax.SAXParseException: The content of elements must consist of well-formed character data or up.
Caused by: java.lang.RuntimeException: Error parsing XPath '/sqlMapConfig/sqlMap'.  Cause: com.ibatis.common.xml.NodeletException: Error parsing XML.  Cause: org.xml.sax.SAXParseException: The content of elements must consist of well-formed character data or up.
Caused by: com.ibatis.common.xml.NodeletException: Error parsing XML.  Cause: org.xml.sax.SAXParseException: The content of elements must consist of well-formed character data or up.Caused by: org.xml.sax.SAXParseException: The content of elements must consist of well-formed character data or up.
在这上面耗了一天的时间了,求高手帮忙看看,我到底是哪里错了

解决方案 »

  1.   

    <?xml version="1.0" encoding="GBK"?>
    <!DOCTYPE sqlMap PUBLIC "-//ibatis.apache.org//DTD SQL Map 2.0//EN" "http://ibatis.apache.org/dtd/sql-map-2.dtd">
    谢谢您,我急死了,求解决
      

  2.   

    你调试一下,/sqlMapConfig/sqlMap  这个路径下对应的内容是啥啊。
    或者说,xpath中就没有生成这个路径
      

  3.   


    我的理解是,启动tomcat服务的时候,系统检测到这段配置有问题,接着就报错了,报错了就不会生成这个路径了,所以后面会接着报错我的那段代码有没有错误啊,谢谢您,能帮我找出问题吗
      

  4.   

    你用记事本打开这个xml文件,看看编码方式是什么
      

  5.   

    谢谢大家,我已经解决了,就是直接把代码重新手敲一遍,不用复制就好了,囧<isEqual property="queryPeriodOfValidity" compareValue="1" prepend="and">
    <![CDATA[ JOB_STATRTIME <= sysdate and JOB_ENDTIME>=sysdate or JOB_ENDTIME = null ]]>
    </isEqual>
    <isEqual property="queryPeriodOfValidity" compareValue="0" prepend="and">
    <![CDATA[ JOB_ENDTIME<=sysdate or JOB_ENDTIME = null   ]]>
    </isEqual>