IBatis sql 片段在不同命名空间中使用
我在特定命名空间中定义了一个 sql 片段,例如:
<sqlMap namespace="firstNamespace">
.....
<sql id="fragmentOne">
然后从另一个命名空间尝试使用它,但似乎 IBatis 无法找到它。
找不到包含 refid 'firstNamespace.fragmentOne' 的 SQL 语句
现在我知道加载顺序很重要,因此 SqlMapConfig.xml 文件我首先放置包含片段的 xml 文件,但没有结果。
您知道如何使用另一个命名空间中的 sql 片段吗?
谢谢 罗伯托
I've got a sql fragments defined in a particular namespace like:
<sqlMap namespace="firstNamespace">
.....
<sql id="fragmentOne">
and then from another namespace I'm trying to use it, but seems that IBatis is not able to find it.
Could not find SQL statement to include with refid 'firstNamespace.fragmentOne'
Now I know that the loading order is important, so the SqlMapConfig.xml file I place the xml file containing the fragment first, but no results.
Do you have any idea on how to use a sql fragment from another namespace?
Thanks
Roberto
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
您启用了命名空间吗?
参考:
http://java.ociweb.com/mark /programming/iBATIS.html
Have you enabled namespaces?
Reference:
http://java.ociweb.com/mark/programming/iBATIS.html
此外,请注意将 XML 文件按正确的顺序放入 sqlMapConfig.Xml 中。
Besides, be carefull to put XML files in right order inside sqlMapConfig.Xml.
注:
解决这个问题很简单,只需在 iBatis 配置中添加以下行并确保现在调用它时使用命名空间即可。
请注意。从现在开始,如果您不使用命名空间,代码将产生错误。因此,最终决定是否使用命名空间会更明智。
Note:
It easy enough to solve the problem, just add the line below in iBatis Configuration and make sure, now use the namespace when calling it.
Be aware. Since now, code will produce error if you are not using the namespace. So it will be wiser to make a final decision whether to use the namespace or not.