Я хотел бы поместить sql-фрагменты, используемые некоторыми из моих XML файлов XML Map в отдельный файл. На данный момент элементы <sql>
с этими фрагментами находятся в одном из сопоставлений вместе с другими элементами, такими как <select>
, что затрудняет их поиск.
Могу ли я иметь mapper, который определяет только несколько элементов <sql>
и не используется для создания реализации интерфейса? Каким будет правильное пространство имен этого картографа?
Это файл карты SQL с фразами:
<mapper namespace="com.company.project.dao.someDao">
<sql id="whereDate">
WHERE date(`time`) BETWEEN #{startDate} AND #{endDate}
</sql>
<sql id="someOtherSqlFragment">
...
</sql>
<select id="getSomeData"
resultType="SomeClass"
parameterType="DateParam" >
SELECT some_column, another_column
</select>
FROM some_table
<include refid="whereDate"/>
<include refid="otherSqlFragment"/>
</select>
</mapper>
Я хотел бы разделить такие элементы следующим образом:
Первый файл карты Sql:
<mapper namespace="com.company.project.dao.???">
<sql id="whereDate">
WHERE date(`time`) BETWEEN #{startDate} AND #{endDate}
</sql>
<sql id="someOtherSqlFragment">
...
</sql>
</mapper>
Второй файл карты Sql:
<mapper namespace="com.company.project.dao.someDao">
<select id="getSomeData"
resultType="SomeClass"
parameterType="DateParam" >
SELECT some_column, another_column
</select>
FROM some_table
<include refid="whereDate"/>
<include refid="otherSqlFragment"/>
</select>
</mapper>