Web Programing/iBATIS2009. 2. 6. 11:55
■ 예제 개발 환경
 - Eclipse SDK Version 3.4.1
 - MS-SQL 2005
 - Tomcat 5.5

■ 사용 jar 파일
 - ibatis-2.3.4.726.jar
 - sqljdbc.jar

- JAR Download - Table 구성
CREATE table member(
 num INT NOT NULL identity(1,1),
 uid VARCHAR(10) NOT NULL,
 pwd VARCHAR(10) NOT NULL,
 name VARCHAR(10) NOT NULL,
 PRIMARY KEY(num)
);

INSERT INTO member(uid, pwd, name) VALUES('test','1234', '나유철');
INSERT INTO member(uid, pwd, name) VALUES('test2','1234', '김태희');
INSERT INTO member(uid, pwd, name) VALUES('test3','1234', '한가인');
INSERT INTO member(uid, pwd, name) VALUES('test4','1234', '김연아');

- SqlMapConfig.xml
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE sqlMapConfig PUBLIC "-//ibatis.apache.org//DTD SQL Map Config 2.0 //EN"
 "
http://ibatis.apache.org/dtd/sql-map-config-2.dtd">

<sqlMapConfig>
 <transactionManager type="JDBC">
  <dataSource type="SIMPLE">
   <property name="JDBC.Driver" value="com.microsoft.sqlserver.jdbc.SQLServerDriver" />
   <property name="JDBC.ConnectionURL" value="jdbc:sqlserver://아이피주소:1433" />
   <property name="JDBC.Username" value="DB아이디" />
   <property name="JDBC.Password" value="DB비밀번호" />
  </dataSource>
 </transactionManager>
 <sqlMap resource="iBATIS/SqlMap.xml" /> // SqlMap.xml 의 위치
</sqlMapConfig>

- SqlMap.xml
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE sqlMap PUBLIC "-//ibatis.apache.org//DTD SQL Map 2.0//EN"
 "http://ibatis.apache.org/dtd/sql-map-2.dtd">
<sqlMap>
 <select id="getMemberList" parameterClass="VO.MemberVO" resultClass="hashmap">
  SELECT *
  FROM 테이블명
 </select>
</sqlMap>

※ id = 사용할 이름
    parameterClass = 테이블의 필드명과 ValueObject 객체에 선언된 변수들의 이름이 같아야 한다.
    resultClass = 쿼리 수행 결과 값을 담을 타입/객체

- example_iBATIS.java
public class exmaple_iBATIS {
public static void main(String[] args) throws Exception {
  String resource = "SqlMapConfig.xml";
  Reader reader = Resources.getResourceAsReader(resource);
  SqlMapClient sqlMap = SqlMapClientBuilder.buildSqlMapClient(reader);
 
  List someList = sqlMap.queryForList("getMemberList");

  Iterator<HashMap> iter = someList.iterator();

  while (iter.hasNext()) {
   HashMap data = iter.next();
   System.out.println("번호 : " + data.get("num") + "  아이디 : " + data.get("uid") + "  비밀번호 : " + data.get("pwd") + "  이름 : " + data.get("name"));
  }
 }
}
Posted by kaios