以下のように、SQL文中の共通部分のみ括りだして共有することができます。
(例)
<修正前>
` <select id="getCount" resultClass="java.lang.Integer">
SELECT COUNT(*) as cnt
FROM dept
WHERE name like #name#
</select>
<select id="getAll" resultMap="result">
SELECT id,name,salary
FROM dept
WHERE name like #name#
ORDER by id
</select>`
<修正後(SQLのWHERE句を1箇所にまとめて共有)>
` <sql id="nameCondition">
WHERE name like #name#
</sql>
<select id="getCount" resultClass="java.lang.Integer">
SELECT COUNT(*) as cnt
FROM dept
<include refid="nameCondition"/>
</select>
<select id="getAll" resultMap="result">
SELECT id,name,salary
FROM dept
<include refid="nameCondition"/>
ORDER by id
</select>
`