Фрагменты IBatis sql, используемые в другом пространстве имен - PullRequest
1 голос
/ 27 августа 2010

У меня есть sql фрагменты, определенные в определенном пространстве имен, например:

<sqlMap namespace="firstNamespace">
   .....
   <sql id="fragmentOne">

и затем из другого пространства имен я пытаюсь его использовать, но кажется, что IBatis не может его найти.

Не удалось найти инструкцию SQL для включения с refid 'firstNamespace.fragmentOne'

Теперь я знаю, что порядок загрузки важен, поэтому в файле SqlMapConfig.xml я сначала размещаю файл xml, содержащий фрагмент, но без результатов.

Есть ли у вас какие-либо идеи о том, как использовать фрагмент SQL из другого пространства имен?

Спасибо Roberto

Ответы [ 3 ]

2 голосов
/ 03 сентября 2010

Вы включили пространства имен?

<sqlMapConfig>

  <settings useStatementNamespaces="true"/>

Ссылка:

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

1 голос
/ 08 апреля 2014

Кроме того, будьте осторожны, чтобы расположить файлы XML в правильном порядке внутри sqlMapConfig.Xml.

0 голосов
/ 15 сентября 2015
<sqlMapConfig>
    <settings useStatementNamespaces="true" /> <!-- add this line -->
    <sqlMap resource="ibatis/Web-Registration-Report.xml" />
</sqlMapConfig>

Примечание:
Решить проблему достаточно просто, просто добавьте строку ниже в конфигурацию iBatis и убедитесь, что теперь используете пространство имен при вызове.

Будь в курсе. С тех пор код будет выдавать ошибку, если вы не используете пространство имен. Поэтому будет разумнее принять окончательное решение, использовать пространство имен или нет.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...