용어 뜻:
예> 한파일 내에서 공유
sql-map-config.xml
<sqlMap resource="./sql.xml"/>
참고>
resultMap 도 별도의 파일로 분리하여 공유할 수 있다.
출처:
<sql>로 sql문을 선언해 두고
<select> 등에서 <include> 를 사용해서 가져다 씁니다.
이 때 <sql>은 id값이 없으면 못 가져다 쓰니 id를 꼭 정의해야 합니다.
그리고 가져다 쓸 select tag 보다 sql tag가 앞에 있어야 합니다. (상위 라인)
만약 파일이라면 sql-map-config에서 resource 순서가 앞에 있어야 합니다.
예> 한파일 내에서 공유
sql-map-config.xml
<sqlMap resource="./sql.xml"/>
sql.xml
<sql id="CODE.SQL">
SELECT
CODE, CDNM
FROM CODEST
WHERE CODE_GROP_ID = #codeabbrnm#
</sql>
<select id="selectCode" resultMap="codeMap">
<include refid="CODE.SQL"/>
</select>
<sql id="CODE.SQL">
SELECT
CODE, CDNM
FROM CODEST
WHERE CODE_GROP_ID = #codeabbrnm#
</sql>
<select id="selectCode" resultMap="codeMap">
<include refid="CODE.SQL"/>
</select>
TestClient.java
Map range = new HashMap();
range.put("codeabbrnm", "B001");
List rltList = sqlMapClient.queryForList("selectCode", range);
Map range = new HashMap();
range.put("codeabbrnm", "B001");
List rltList = sqlMapClient.queryForList("selectCode", range);
확장> 별도의 파일로 분리
sql-map-config.xml
<sqlMap resource="./sql.xml"/>
<sqlMap resource="./sqlmap1.xml"/>
<sqlMap resource="./sql.xml"/>
<sqlMap resource="./sqlmap1.xml"/>
sql.xml
<sql id="CODE.SQL">
SELECT
CODE, CDNM
FROM CODEST
WHERE CODE_GROP_ID = #codeabbrnm#
</sql>
<resultMap id="codeMap" class="java.util.HashMap">
<result property="dtlscode" column="CODE" />
<result property="dtlscdnm" column="CDNM" />
</resultMap>
sqlmap1.xml
<select id="selectCode" resultMap="codeMap">
<include refid="CODE.SQL"/>
</select>
<sql id="CODE.SQL">
SELECT
CODE, CDNM
FROM CODEST
WHERE CODE_GROP_ID = #codeabbrnm#
</sql>
<resultMap id="codeMap" class="java.util.HashMap">
<result property="dtlscode" column="CODE" />
<result property="dtlscdnm" column="CDNM" />
</resultMap>
sqlmap1.xml
<select id="selectCode" resultMap="codeMap">
<include refid="CODE.SQL"/>
</select>
TestClient.java
Map range = new HashMap();
range.put("codeabbrnm", "B001");
List rltList = sqlMapClient.queryForList("selectCode", range);
Map range = new HashMap();
range.put("codeabbrnm", "B001");
List rltList = sqlMapClient.queryForList("selectCode", range);
참고>
resultMap 도 별도의 파일로 분리하여 공유할 수 있다.
simple note, 2017-09-20, http://smplnote.tistory.com/145
환영합니다, 2017-09-20, http://borntoloveit.tistory.com/49
댓글
댓글 쓰기