いくつかのSQLMapXMLファイルで使用されているSQLフラグメントを別のファイルに入れたいと思います。現時点では、<sql>
これらのフラグメントを含む要素は、などの他の要素と一緒にマッパーの1つに含まれ<select>
ているため、見つけるのが困難です。
<sql>
いくつかの要素を定義し、インターフェースへの実装を生成するために使用されないマッパーを使用できますか?このマッパーの正しい名前空間は何でしょうか?
これは、framentを含む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
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>
2番目のSqlMapファイル:
<mapper namespace="com.company.project.dao.someDao">
<select id="getSomeData" resultType="SomeClass" parameterType="DateParam" >
SELECT some_column, another_column
FROM some_table
<include refid="whereDate"/>
<include refid="otherSqlFragment"/>
</select>
</mapper>