- sqlMapClient객체를 만들어서 반환하는 클래스
package kr.or.ddit.util;
import java.io.IOException;
import java.io.Reader;
import java.nio.charset.Charset;
import java.util.Scanner;
import com.ibatis.common.resources.Resources;
import com.ibatis.sqlmap.client.SqlMapClient;
import com.ibatis.sqlmap.client.SqlMapClientBuilder;
public class SqlMapClientFactory {
private static SqlMapClient smc;
static {
Reader rd = null;
try {
Charset charset = Charset.forName("utf-8");
Resources.setCharset(charset);
rd = Resources.getResourceAsReader("kr/or/ddit/config/sqlMapConfig.xml");
smc = SqlMapClientBuilder.buildSqlMapClient(rd);
} catch (IOException e) {
e.printStackTrace();
}finally {
if(rd!=null)try {rd.close();}catch(IOException e) {}
}
}
public static SqlMapClient getSqlMapClient() {
return smc;
}
}
<!--
Map객체를 파리마터로 받아서 처리할 때 변수명 역할(##안에 들어갈 값)은 Map의 key값으로 한다.
파라미터로 가져온 값을 컬럼명등의 자리에서 사용할 경우에는 달러($)기호를 사용해서 나타낸다.
예) $변수명$ 또는 $Map의 key값$
-->
<update id="updateMember2" parameterClass="java.util.Map">
<!-- update mymember set 수정할컬럼명 = 수정할 값 where mem_id = 수정할 회원 -->
update mymember
set $field$ = #data#
where mem_id = #memid#
</update>
Map객체를 iBatis의 sql문 안에서 사용할 때 :
파라미터로 가져온 값을 컬럼명 등의 자리에서 사용할 경우에는 달러($)기호를 사용해서 나타낸다.
예) $변수명$ 또는 $Map의 key값$