고급JAVA 23강 - iBatis 2

Whatever·2021년 11월 29일
0

고급 JAVA

목록 보기
23/32

SqlMapClientFactory

- 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값$

0개의 댓글