programming/ibatis mybatis

ibatis에서 MSSQL OPENQUERY이용하기

labj 2012. 3. 21. 12:34

ORACEL 접속을 링크드서버 쿼리문

SELECT TREEID, TREENM FROM
OPENQUERY(CICHUB, 'SELECT CRSNM as treeId,CRSCD as treeNm FROM ECD_HRD_CRSMAS WHERE CRSCD = ''G2Z20020254'' ')
 
1. mssql 프로시저 생성

create proc sp_user3
@age varchar(50) 
as 
begin 
declare @str varchar(500)
set @str=
'SELECT TREEID, TREENM FROM '+
'OPENQUERY(CICHUB, ''SELECT CRSNM as treeId,CRSCD as treeNm FROM ECD_HRD_CRSMAS WHERE CRSCD = '''''+@age+''''''')'
exec(@str)
end


2. ibatis xml 변경
select id="breakFiller.test"  resultClass="breakFiller" parameterClass="java.lang.String"

  sp_user3 #seqNo#  

/select 
 

3. DAO 단 소스
public List test()throws Exception {  
 String seqNo = "G2Z20020254";  
 return getSqlMapClientTemplate().queryForList("breakFiller.test",seqNo);
}

4. 쿼리결과 (DB data에 따라서 다를 수 있습니다.)
Result: [초급 영어회화-여행편, G2Z20020254]