ibatis的动态映射

悠云guo 2006-01-16 12:40:00
Addrlist.xml:
==================
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE sqlMap PUBLIC "-//iBATIS.com//DTD SQL Map 2.0//EN" "http://www.ibatis.com/dtd/sql-map-2.dtd">
<sqlMap namespace="Addrlist">
<typeAlias alias="querystr" type="addrlist.domain.QueryString"/>
<typeAlias alias="addrlist" type="addrlist.domain.Addrlist"/>
<select id="queryaddrlist" parameterClass="querystr" resultClass="addrlist">
<![CDATA[select *
from query_addrlist]]>
<dynamic prepend="where">
<isNotNull prepend="and" property="condition1data"><![CDATA[($condition1col$ like #condition1data)]]> </isNotNull>
<isNotNull prepend="and" property="condition2data"><![CDATA[($condition2col$ like #condition2data)]]> </isNotNull>
<isNotNull prepend="and" property="condition3data"><![CDATA[($condition3col$ like #condition3data)]]> </isNotNull>
<isNotNull prepend="and" property="condition4data"><![CDATA[($condition4col$ like #condition4data)]]> </isNotNull>
<isNotNull prepend="and" property="condition5data"><![CDATA[($condition5col$ like #condition5data)]]> </isNotNull>
</dynamic>
</select>
</sqlMap>
==================
...全文
802 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
悠云guo 2006-01-17
  • 打赏
  • 举报
回复
本贴由楼主从java之框架,开源移至java之非技术区。
悠云guo 2006-01-17
  • 打赏
  • 举报
回复
只能说是人品问题,唉

算了算了
我贴出我目前用的xml
===================
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE sqlMap PUBLIC "-//iBATIS.com//DTD SQL Map 2.0//EN" "http://www.ibatis.com/dtd/sql-map-2.dtd">
<sqlMap namespace="Addrlist">
<typeAlias alias="querystr" type="addrlist.domain.QueryString"/>
<typeAlias alias="addrlist" type="addrlist.domain.Addrlist"/>
<select id="queryaddrlist" parameterClass="querystr" resultClass="addrlist">
<![CDATA[ select *
from query_addrlist ]]>
<dynamic>
<isEqual compareValue="and" property="ope">
<isNotNull prepend="where" property="condition1data">
<![CDATA[ $condition1col$ like #condition1data# ]]>
<isNotNull prepend="and" property="condition2data">
<![CDATA[ $condition2col$ like #condition2data# ]]>
<isNotNull prepend="and" property="condition3data">
<![CDATA[ $condition3col$ like #condition3data# ]]>
<isNotNull prepend="and" property="condition4data">
<![CDATA[ $condition4col$ like #condition4data# ]]>
<isNotNull prepend="and" property="condition5data">
<![CDATA[ $condition5col$ like #condition5data# ]]>
</isNotNull>
</isNotNull>
</isNotNull>
</isNotNull>
</isNotNull>
</isEqual>
<isEqual compareValue="or" property="ope">
<isNotNull prepend="where" property="condition1data">
<![CDATA[ $condition1col$ like #condition1data# ]]>
<isNotNull prepend="or" property="condition2data">
<![CDATA[ $condition2col$ like #condition2data# ]]>
<isNotNull prepend="or" property="condition3data">
<![CDATA[ $condition3col$ like #condition3data# ]]>
<isNotNull prepend="or" property="condition4data">
<![CDATA[ $condition4col$ like #condition4data# ]]>
<isNotNull prepend="or" property="condition5data">
<![CDATA[ $condition5col$ like #condition5data# ]]>
</isNotNull>
</isNotNull>
</isNotNull>
</isNotNull>
</isNotNull>
</isEqual>
</dynamic>
</select>
</sqlMap>
===================
悠云guo 2006-01-16
  • 打赏
  • 举报
回复
如果把Addrlist.xml改为:
==================
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE sqlMap PUBLIC "-//iBATIS.com//DTD SQL Map 2.0//EN" "http://www.ibatis.com/dtd/sql-map-2.dtd">
<sqlMap namespace="Addrlist">
<typeAlias alias="querystr" type="addrlist.domain.QueryString"/>
<typeAlias alias="addrlist" type="addrlist.domain.Addrlist"/>
<select id="queryaddrlist" parameterClass="querystr" resultClass="addrlist">
<![CDATA[select *
from query_addrlist]]>
</select>
</sqlMap>
==================
即去掉<dynamic>块,就完全正常。

百思不得其解,也曾求助于google,只搜到下述一个页面,问题与我的相同,但也未解决。郁闷呐!
http://www.nabble.com/Junit-Ibatis-Configuration-Problem-t396362.html
悠云guo 2006-01-16
  • 打赏
  • 举报
回复
Caused by: com.ibatis.common.exception.NestedRuntimeException: Error occurred. Cause: com.ibatis.common.xml.NodeletException: Error parsing XML. Cause: com.ibatis.common.exception.NestedRuntimeException: Error parsing XPath '/sqlMapConfig/sqlMap'. Cause: com.ibatis.common.xml.NodeletException: Error parsing XML. Cause: com.ibatis.common.exception.NestedRuntimeException: Error parsing XPath '/sqlMap/select'. Cause: java.util.NoSuchElementException
Caused by: java.util.NoSuchElementException
Caused by: com.ibatis.common.exception.NestedRuntimeException: Error parsing XPath '/sqlMap/select'. Cause: java.util.NoSuchElementException
Caused by: java.util.NoSuchElementException
Caused by: com.ibatis.common.xml.NodeletException: Error parsing XML. Cause: com.ibatis.common.exception.NestedRuntimeException: Error parsing XPath '/sqlMap/select'. Cause: java.util.NoSuchElementException
Caused by: java.util.NoSuchElementException
Caused by: com.ibatis.common.exception.NestedRuntimeException: Error parsing XPath '/sqlMap/select'. Cause: java.util.NoSuchElementException
Caused by: java.util.NoSuchElementException
Caused by: com.ibatis.common.exception.NestedRuntimeException: Error parsing XPath '/sqlMapConfig/sqlMap'. Cause: com.ibatis.common.xml.NodeletException: Error parsing XML. Cause: com.ibatis.common.exception.NestedRuntimeException: Error parsing XPath '/sqlMap/select'. Cause: java.util.NoSuchElementException
Caused by: java.util.NoSuchElementException
Caused by: com.ibatis.common.exception.NestedRuntimeException: Error parsing XPath '/sqlMap/select'. Cause: java.util.NoSuchElementException
Caused by: java.util.NoSuchElementException
Caused by: com.ibatis.common.xml.NodeletException: Error parsing XML. Cause: com.ibatis.common.exception.NestedRuntimeException: Error parsing XPath '/sqlMap/select'. Cause: java.util.NoSuchElementException
Caused by: java.util.NoSuchElementException
Caused by: com.ibatis.common.exception.NestedRuntimeException: Error parsing XPath '/sqlMap/select'. Cause: java.util.NoSuchElementException
Caused by: java.util.NoSuchElementException
Caused by: com.ibatis.common.xml.NodeletException: Error parsing XML. Cause: com.ibatis.common.exception.NestedRuntimeException: Error parsing XPath '/sqlMapConfig/sqlMap'. Cause: com.ibatis.common.xml.NodeletException: Error parsing XML. Cause: com.ibatis.common.exception.NestedRuntimeException: Error parsing XPath '/sqlMap/select'. Cause: java.util.NoSuchElementException
Caused by: java.util.NoSuchElementException
Caused by: com.ibatis.common.exception.NestedRuntimeException: Error parsing XPath '/sqlMap/select'. Cause: java.util.NoSuchElementException
Caused by: java.util.NoSuchElementException
Caused by: com.ibatis.common.xml.NodeletException: Error parsing XML. Cause: com.ibatis.common.exception.NestedRuntimeException: Error parsing XPath '/sqlMap/select'. Cause: java.util.NoSuchElementException
Caused by: java.util.NoSuchElementException
Caused by: com.ibatis.common.exception.NestedRuntimeException: Error parsing XPath '/sqlMap/select'. Cause: java.util.NoSuchElementException
Caused by: java.util.NoSuchElementException
Caused by: com.ibatis.common.exception.NestedRuntimeException: Error parsing XPath '/sqlMapConfig/sqlMap'. Cause: com.ibatis.common.xml.NodeletException: Error parsing XML. Cause: com.ibatis.common.exception.NestedRuntimeException: Error parsing XPath '/sqlMap/select'. Cause: java.util.NoSuchElementException
Caused by: java.util.NoSuchElementException
Caused by: com.ibatis.common.exception.NestedRuntimeException: Error parsing XPath '/sqlMap/select'. Cause: java.util.NoSuchElementException
Caused by: java.util.NoSuchElementException
Caused by: com.ibatis.common.xml.NodeletException: Error parsing XML. Cause: com.ibatis.common.exception.NestedRuntimeException: Error parsing XPath '/sqlMap/select'. Cause: java.util.NoSuchElementException
Caused by: java.util.NoSuchElementException
Caused by: com.ibatis.common.exception.NestedRuntimeException: Error parsing XPath '/sqlMap/select'. Cause: java.util.NoSuchElementException
Caused by: java.util.NoSuchElementException
at addrlist.persistence.DaoConfig.<clinit>(DaoConfig.java:23)
... 13 more
==================
悠云guo 2006-01-16
  • 打赏
  • 举报
回复
运行后,报错:
==================
java.lang.ExceptionInInitializerError
at addrlist.service.AddrlistService.<init>(AddrlistService.java:13)
at addrlist.service.AddrlistService.<clinit>(AddrlistService.java:11)
at addrlist.service.TestAddrlistService.setUp(TestAddrlistService.java:16)
...(Click for full stack trace)...
Caused by: java.lang.RuntimeException: Could not initialize DaoConfig. Cause: com.ibatis.dao.client.DaoException: Error while configuring DaoManager. Cause: com.ibatis.common.exception.NestedRuntimeException: Error occurred. Cause: com.ibatis.common.xml.NodeletException: Error parsing XML. Cause: com.ibatis.common.exception.NestedRuntimeException: Error parsing XPath '/sqlMapConfig/sqlMap'. Cause: com.ibatis.common.xml.NodeletException: Error parsing XML. Cause: com.ibatis.common.exception.NestedRuntimeException: Error parsing XPath '/sqlMap/select'. Cause: java.util.NoSuchElementException
Caused by: java.util.NoSuchElementException
Caused by: com.ibatis.common.exception.NestedRuntimeException: Error parsing XPath '/sqlMap/select'. Cause: java.util.NoSuchElementException
Caused by: java.util.NoSuchElementException
Caused by: com.ibatis.common.xml.NodeletException: Error parsing XML. Cause: com.ibatis.common.exception.NestedRuntimeException: Error parsing XPath '/sqlMap/select'. Cause: java.util.NoSuchElementException
Caused by: java.util.NoSuchElementException
Caused by: com.ibatis.common.exception.NestedRuntimeException: Error parsing XPath '/sqlMap/select'. Cause: java.util.NoSuchElementException
Caused by: java.util.NoSuchElementException
Caused by: com.ibatis.common.exception.NestedRuntimeException: Error parsing XPath '/sqlMapConfig/sqlMap'. Cause: com.ibatis.common.xml.NodeletException: Error parsing XML. Cause: com.ibatis.common.exception.NestedRuntimeException: Error parsing XPath '/sqlMap/select'. Cause: java.util.NoSuchElementException
Caused by: java.util.NoSuchElementException
Caused by: com.ibatis.common.exception.NestedRuntimeException: Error parsing XPath '/sqlMap/select'. Cause: java.util.NoSuchElementException
Caused by: java.util.NoSuchElementException
Caused by: com.ibatis.common.xml.NodeletException: Error parsing XML. Cause: com.ibatis.common.exception.NestedRuntimeException: Error parsing XPath '/sqlMap/select'. Cause: java.util.NoSuchElementException
Caused by: java.util.NoSuchElementException
Caused by: com.ibatis.common.exception.NestedRuntimeException: Error parsing XPath '/sqlMap/select'. Cause: java.util.NoSuchElementException
Caused by: java.util.NoSuchElementException
Caused by: com.ibatis.common.xml.NodeletException: Error parsing XML. Cause: com.ibatis.common.exception.NestedRuntimeException: Error parsing XPath '/sqlMapConfig/sqlMap'. Cause: com.ibatis.common.xml.NodeletException: Error parsing XML. Cause: com.ibatis.common.exception.NestedRuntimeException: Error parsing XPath '/sqlMap/select'. Cause: java.util.NoSuchElementException
Caused by: java.util.NoSuchElementException
Caused by: com.ibatis.common.exception.NestedRuntimeException: Error parsing XPath '/sqlMap/select'. Cause: java.util.NoSuchElementException
Caused by: java.util.NoSuchElementException
Caused by: com.ibatis.common.xml.NodeletException: Error parsing XML. Cause: com.ibatis.common.exception.NestedRuntimeException: Error parsing XPath '/sqlMap/select'. Cause: java.util.NoSuchElementException
Caused by: java.util.NoSuchElementException
Caused by: com.ibatis.common.exception.NestedRuntimeException: Error parsing XPath '/sqlMap/select'. Cause: java.util.NoSuchElementException
Caused by: java.util.NoSuchElementException
Caused by: com.ibatis.common.exception.NestedRuntimeException: Error parsing XPath '/sqlMapConfig/sqlMap'. Cause: com.ibatis.common.xml.NodeletException: Error parsing XML. Cause: com.ibatis.common.exception.NestedRuntimeException: Error parsing XPath '/sqlMap/select'. Cause: java.util.NoSuchElementException
Caused by: java.util.NoSuchElementException
Caused by: com.ibatis.common.exception.NestedRuntimeException: Error parsing XPath '/sqlMap/select'. Cause: java.util.NoSuchElementException
Caused by: java.util.NoSuchElementException
Caused by: com.ibatis.common.xml.NodeletException: Error parsing XML. Cause: com.ibatis.common.exception.NestedRuntimeException: Error parsing XPath '/sqlMap/select'. Cause: java.util.NoSuchElementException
Caused by: java.util.NoSuchElementException
Caused by: com.ibatis.common.exception.NestedRuntimeException: Error parsing XPath '/sqlMap/select'. Cause: java.util.NoSuchElementException
Caused by: java.util.NoSuchElementException
rickhunterchen 2006-01-16
  • 打赏
  • 举报
回复
接分快乐。楼主可否说说错误原因。
zcjl 2006-01-16
  • 打赏
  • 举报
回复
莫非是在等俺?^_^
悠云guo 2006-01-16
  • 打赏
  • 举报
回复
朋友50,其他再来一个就给分
悠云guo 2006-01-16
  • 打赏
  • 举报
回复
反正搞定了,散分!
sgaley 2006-01-16
  • 打赏
  • 举报
回复
连续回复超过三次,只好用朋友账号up。不得已而为之,buffoon

23,404

社区成员

发帖
与我相关
我的任务
社区描述
Java 非技术区
社区管理员
  • 非技术区社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧