是否可以在另一个中包含一个 select?
Is it possible to include one select in another?
我有 2 个 selects 映射器方法:
- select一个
- select两个
我想将这些语句包含到select下面的三种方法中。
是否可以将一个 select 包含在另一个中?如果是,那么如何?
<mapper>
...
<select id="selectOne" resultMap="mytype">
SELECT
*
FROM
mytype
</select>
<select id="selectTwo" resultMap="mytype">
SELECT
*
FROM
mytype
</select>
<select id="selectThree" resultMap="mytype">
<include refid="selectOne" />
UNION
<include refid="selectTwo" />
</select>
...
</mapper>
不,你不能用 <select>
标签来做,但如果你打算有一个可重用的代码,你可以使用 <sql>
标签。
<sql id="selectOne">
SELECT * FROM mytype
</sql>
详情请参考document
我有 2 个 selects 映射器方法:
- select一个
- select两个
我想将这些语句包含到select下面的三种方法中。
是否可以将一个 select 包含在另一个中?如果是,那么如何?
<mapper>
...
<select id="selectOne" resultMap="mytype">
SELECT
*
FROM
mytype
</select>
<select id="selectTwo" resultMap="mytype">
SELECT
*
FROM
mytype
</select>
<select id="selectThree" resultMap="mytype">
<include refid="selectOne" />
UNION
<include refid="selectTwo" />
</select>
...
</mapper>
不,你不能用 <select>
标签来做,但如果你打算有一个可重用的代码,你可以使用 <sql>
标签。
<sql id="selectOne">
SELECT * FROM mytype
</sql>
详情请参考document