SSISO Community

시소당

iBatis 예제입니다. (1)기본설정

Name  
   김길재 
Subject  
   iBatis 예제입니다. (1)기본설정
객체-관계 맵핑의 문제점을 보완한 sql매핑을 구현하는데 많이 사용되는 iBatis을 매우 간단하게 구현해 보았습니다.
실행은 이클립스의 java application으로 해보았습니다.

1. 테이블 작성
오라클 설정은 4. database.properties에서 작성한 부분을 참고하세요.

CREATE TABLE BLOG_USER(
        USER_ID         VARCHAR2(10) PRIMARY KEY,
        USER_NAME   VARCHAR2(20),
        ROLE        VARCHAR2(5),
    PASSWORD    VARCHAR2(10)
);

2. http://ibatis.apache.org/javadownloads.html로 가서 iBATIS Java 2.1.7 w/Binaries and Source파일을 다운로드 받고 압축을 풀면 lib폴더아래에
다음과 같이 세개의 라이브러리 파일이 있습니다.(용량이 커서 첨부하지 않았습니다. 직접 다운받으세요)
ibatis-common-2.jar
ibatis-dao-2.jar
ibatis-sqlmap-2.jar
이 세개의 파일을 클래스 패스에 추가합니다.

3. 이제부터 작성하는 파일들을 모두 한 디폴트 패키지(이클립스에서 src)에서 작성합니다.

4. ///////////// database.properties /////////////////////////////

####################################
# ORACLE
####################################
driver=oracle.jdbc.driver.OracleDriver
url=jdbc:oracle:thin:@127.0.0.1:1521:ORA92
username=oraclejava
password=oraclejava

5. ////////////// SqlMapClientManager.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>

        
        <properties resource="src/database.properties" />
        
        
        <settings cacheModelsEnabled="false"
                                 useStatementNamespaces="true"
                                 />

        <transactionManager type="JDBC">
                <dataSource type="SIMPLE">
                        <property name ="JDBC.Driver" value="${driver}"/>
                    <property name ="JDBC.ConnectionURL" value="${url}"/>
            <property name ="JDBC.Username" value="${username}"/>
            <property name ="JDBC.Password" value="${password}"/>
                </dataSource>
        </transactionManager>

        <sqlMap resource="src/BlogUser.xml" />
</sqlMapConfig>

6. ///////////////// BlogUser.xml /////////////////////

<?xml version="1.0" encoding="EUC-KR" standalone="no"?>
<!DOCTYPE sqlMap          
                                PUBLIC "-//ibatis.apache.org//DTD SQL Map 2.0//EN"          
                                "http://ibatis.apache.org/dtd/sql-map-2.dtd">
<sqlMap namespace="BlogUser">

        <typeAlias alias="user" type="src.BlogUser"/>

    <resultMap id="getBlogUserAll" class="user">
              <result property="userID" column="USER_ID"/>
              <result property="userName" column="USER_NAME"/>
              <result property="role" column="ROLE"/>
              <result property="password" column="PASSWORD"/>                  
    </resultMap>

        <select id="getBlogUserAll" resultMap="getBlogUserAll">
                SELECT USER_ID,
                       USER_NAME,
                       ROLE,
                       PASSWORD
          FROM BLOG_USER
          </select>
          
          <insert id="regUser" parameterClass="user">
              INSERT INTO BLOG_USER (USER_ID,
                                     USER_NAME,
                                     ROLE,
                                     PASSWORD)
                             VALUES (#userID#,
                                     #userName#,
                                     #role#,
                                     #password#)
        </insert>
        
        <update id="updUser" parameterClass="user">
            UPDATE BLOG_USER SET USER_NAME = #userName#,
                                 ROLE = #role#,
                                 PASSWORD = #password#
                           WHERE USER_ID = #userID#
        </update>
        
        <delete id="delUser" parameterClass="user">
            DELETE FROM BLOG_USER WHERE USER_ID = #userID#
        </delete>

</sqlMap>

출처 : Tong - 반이오타님의 JAVA Framework통

1620 view

4.0 stars