IBatis sql 片段在不同命名空间中使用

发布于 2024-09-16 09:20:43 字数 387 浏览 3 评论 0原文

我在特定命名空间中定义了一个 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 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

铁憨憨 2024-09-23 09:20:43

您启用了命名空间吗?

<sqlMapConfig>

  <settings useStatementNamespaces="true"/>

参考:

http://java.ociweb.com/mark /programming/iBATIS.html

Have you enabled namespaces?

<sqlMapConfig>

  <settings useStatementNamespaces="true"/>

Reference:

http://java.ociweb.com/mark/programming/iBATIS.html

花期渐远 2024-09-23 09:20:43

此外,请注意将 XML 文件按正确的顺序放入 sqlMapConfig.Xml 中。

Besides, be carefull to put XML files in right order inside sqlMapConfig.Xml.

素手挽清风 2024-09-23 09:20:43
<sqlMapConfig>
    <settings useStatementNamespaces="true" /> <!-- add this line -->
    <sqlMap resource="ibatis/Web-Registration-Report.xml" />
</sqlMapConfig>

注:
解决这个问题很简单,只需在 iBatis 配置中添加以下行并确保现在调用它时使用命名空间即可。

请注意。从现在开始,如果您不使用命名空间,代码将产生错误。因此,最终决定是否使用命名空间会更明智。

<sqlMapConfig>
    <settings useStatementNamespaces="true" /> <!-- add this line -->
    <sqlMap resource="ibatis/Web-Registration-Report.xml" />
</sqlMapConfig>

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.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文