<sql>, <include>사용.
중복 쿼리문을 sql노드에 작성.
<sql id="">
중복쿼리문 작성
</sql>
필요한 위치에서 include로 포함.
<include refid="아이디"/>
예)
1. 중복쿼리문 작성
<sql id="selectEmp">
select empno, ename, to_char(sal,'99,999') sal
from emp
</sql>
2. 사용
<select id="sel1" resultType="EmpDomain" parameterType="int">
<include refid="selectEmp"/>
where deptno=#{deptno}<!--where절을 selectEmp에 적어도 됨 -->
</select>
<select id="sel2" resultType="EmpDomain" parameterType="EmpVO">
<include refid="selectEmp"/>
where empno=#{empno} and deptno=#{deptno}
</select>
like의 특수문자인 %와 자바의 bind변수 ?가 함께 연결되면 자바의 bind변수를 인식하지 못한다.
where 컬럼명 like %?% - 인식불가