相关疑难解决方法(0)

MyBatis/iBatis - 在单独的SQL Map文件中可重用的sql片段?

我想将我的几个SQL Map XML文件使用的sql片段放在一个单独的文件中.目前,<sql>具有这些片段的元素与其他元素一起位于其中一个元素中<select>,这使得它们很难找到.
我是否可以使用仅定义几个<sql>元素的映射器,而不是用于生成接口的实现?这个映射器的正确名称空间是什么?

这是包含framents的SQL Map文件:

<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>
Run Code Online (Sandbox Code Playgroud)

我想分开这样的元素:
第一个Sql Map文件:

<mapper namespace="com.company.project.dao.???">

    <sql id="whereDate">
        WHERE date(`time`) BETWEEN #{startDate} AND #{endDate}
    </sql>  

    <sql id="someOtherSqlFragment">
        ...
    </sql>

</mapper>
Run Code Online (Sandbox Code Playgroud)

第二个Sql Map文件:

<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"/> …
Run Code Online (Sandbox Code Playgroud)

java ibatis mybatis

20
推荐指数
2
解决办法
3万
查看次数

标签 统计

ibatis ×1

java ×1

mybatis ×1