<?xml version="1.0" encoding="utf-8"?>
<!-- generator="FeedCreator 1.7.2-ppt DokuWiki" -->
<?xml-stylesheet href="http://www.egovframe.go.kr/wiki/lib/exe/css.php?s=feed" type="text/css"?>
<rdf:RDF
    xmlns="http://purl.org/rss/1.0/"
    xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
    xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
    xmlns:dc="http://purl.org/dc/elements/1.1/">
    <channel rdf:about="http://www.egovframe.go.kr/wiki/feed.php">
        <title>eGovFrame egovframework:rte2:psl:dataaccess</title>
        <description></description>
        <link>http://www.egovframe.go.kr/wiki/</link>
        <image rdf:resource="http://www.egovframe.go.kr/wiki/lib/images/favicon.ico" />
       <dc:date>2025-06-15T19:21:07+00:00</dc:date>
        <items>
            <rdf:Seq>
                <rdf:li rdf:resource="http://www.egovframe.go.kr/wiki/doku.php?id=egovframework:rte2:psl:dataaccess:configuration_xml&amp;rev=1703136093&amp;do=diff"/>
                <rdf:li rdf:resource="http://www.egovframe.go.kr/wiki/doku.php?id=egovframework:rte2:psl:dataaccess:data_type&amp;rev=1703136093&amp;do=diff"/>
                <rdf:li rdf:resource="http://www.egovframe.go.kr/wiki/doku.php?id=egovframework:rte2:psl:dataaccess:dynamic_sql&amp;rev=1703136093&amp;do=diff"/>
                <rdf:li rdf:resource="http://www.egovframe.go.kr/wiki/doku.php?id=egovframework:rte2:psl:dataaccess:getting_started&amp;rev=1703136093&amp;do=diff"/>
                <rdf:li rdf:resource="http://www.egovframe.go.kr/wiki/doku.php?id=egovframework:rte2:psl:dataaccess:ibatis_configuration&amp;rev=1703136093&amp;do=diff"/>
                <rdf:li rdf:resource="http://www.egovframe.go.kr/wiki/doku.php?id=egovframework:rte2:psl:dataaccess:ibatis_vs_mybatis&amp;rev=1703136093&amp;do=diff"/>
                <rdf:li rdf:resource="http://www.egovframe.go.kr/wiki/doku.php?id=egovframework:rte2:psl:dataaccess:inline_parameters&amp;rev=1703136093&amp;do=diff"/>
                <rdf:li rdf:resource="http://www.egovframe.go.kr/wiki/doku.php?id=egovframework:rte2:psl:dataaccess:mapper_xml_files&amp;rev=1703136093&amp;do=diff"/>
                <rdf:li rdf:resource="http://www.egovframe.go.kr/wiki/doku.php?id=egovframework:rte2:psl:dataaccess:mybatis&amp;rev=1703136093&amp;do=diff"/>
                <rdf:li rdf:resource="http://www.egovframe.go.kr/wiki/doku.php?id=egovframework:rte2:psl:dataaccess:mybatis_dynamic_sql&amp;rev=1703136093&amp;do=diff"/>
                <rdf:li rdf:resource="http://www.egovframe.go.kr/wiki/doku.php?id=egovframework:rte2:psl:dataaccess:mybatisguide&amp;rev=1703136093&amp;do=diff"/>
                <rdf:li rdf:resource="http://www.egovframe.go.kr/wiki/doku.php?id=egovframework:rte2:psl:dataaccess:parametermap&amp;rev=1703136093&amp;do=diff"/>
                <rdf:li rdf:resource="http://www.egovframe.go.kr/wiki/doku.php?id=egovframework:rte2:psl:dataaccess:resultmap&amp;rev=1703136093&amp;do=diff"/>
                <rdf:li rdf:resource="http://www.egovframe.go.kr/wiki/doku.php?id=egovframework:rte2:psl:dataaccess:spring_ibatis_integration&amp;rev=1703136093&amp;do=diff"/>
            </rdf:Seq>
        </items>
    </channel>
    <image rdf:about="http://www.egovframe.go.kr/wiki/lib/images/favicon.ico">
        <title>eGovFrame</title>
        <link>http://www.egovframe.go.kr/wiki/</link>
        <url>http://www.egovframe.go.kr/wiki/lib/images/favicon.ico</url>
    </image>
    <item rdf:about="http://www.egovframe.go.kr/wiki/doku.php?id=egovframework:rte2:psl:dataaccess:configuration_xml&amp;rev=1703136093&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2023-12-21T05:21:33+00:00</dc:date>
        <title>egovframework:rte2:psl:dataaccess:configuration_xml</title>
        <link>http://www.egovframe.go.kr/wiki/doku.php?id=egovframework:rte2:psl:dataaccess:configuration_xml&amp;rev=1703136093&amp;do=diff</link>
        <description>MyBatis XML 설정파일은 다양한 셋팅과 프로퍼티를 가진다 해당 파일의 작성과 상세한 옵션 설정에 대해 알아본다.

Configuration XML

MyBatis XML 설정파일의 일반적인 구조 및 구성은 properties, settings, typeAliases, typeHandlers, objectFactory, plugins, environments, databaseIdProvider, mappers 등의 내용으로 구성이 되어 있으며 주요 내용은 아래와 같다.</description>
    </item>
    <item rdf:about="http://www.egovframe.go.kr/wiki/doku.php?id=egovframework:rte2:psl:dataaccess:data_type&amp;rev=1703136093&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2023-12-21T05:21:33+00:00</dc:date>
        <title>egovframework:rte2:psl:dataaccess:data_type</title>
        <link>http://www.egovframe.go.kr/wiki/doku.php?id=egovframework:rte2:psl:dataaccess:data_type&amp;rev=1703136093&amp;do=diff</link>
        <description>어플리케이션을 작성할 때 Data Type 에 대한 올바른 사용과 관련 처리는 매우 중요하다. 특히 데이터베이스를 이용하여 데이터를 저장하고 조회할 때 Java 어플리케이션에서의 Type 과 DBMS 에서 지원하는 관련 매핑 jdbc Type 의 정확한 사용이 필요하며, 여기에서는 iBATIS 환경에서 javaType 과 특정 DBMS 의 jdbcType 의 적절한 매핑 사용예를 중심으로 일반적인 Data Type 의 사용 가이드를 참고할 수 있도록 한다.…</description>
    </item>
    <item rdf:about="http://www.egovframe.go.kr/wiki/doku.php?id=egovframework:rte2:psl:dataaccess:dynamic_sql&amp;rev=1703136093&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2023-12-21T05:21:33+00:00</dc:date>
        <title>egovframework:rte2:psl:dataaccess:dynamic_sql</title>
        <link>http://www.egovframe.go.kr/wiki/doku.php?id=egovframework:rte2:psl:dataaccess:dynamic_sql&amp;rev=1703136093&amp;do=diff</link>
        <description>일반적으로 JDBC API 를 사용한 코딩에서 한번 정의한 쿼리문을 최대한 재사용하고자 하나 단순 파라메터 변수의 값만 변경하는 것으로 해결하기 어렵고 다양한 조건에 따라 조금씩 다른 쿼리의 실행이 필요한 경우 많은 if~else 조건 분기의 연결이 필요한 문제가 있다.
여기에서는 SQL 문의 동적인 변경에 대한 상대적으로 유연한 방법을 제공하는 iBATIS 의 Dynamic 요소에 대해 알아본다.…</description>
    </item>
    <item rdf:about="http://www.egovframe.go.kr/wiki/doku.php?id=egovframework:rte2:psl:dataaccess:getting_started&amp;rev=1703136093&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2023-12-21T05:21:33+00:00</dc:date>
        <title>egovframework:rte2:psl:dataaccess:getting_started</title>
        <link>http://www.egovframe.go.kr/wiki/doku.php?id=egovframework:rte2:psl:dataaccess:getting_started&amp;rev=1703136093&amp;do=diff</link>
        <description>시작하기


모든 MyBatis 애플리케이션은 SqlSessionFactory 인스턴스를 사용한다. SqlSessionFactory 인스턴스는 SqlSessionFactoryBuilder 를 사용하여 만들수 있다. SqlSessionFactoryBuilder 는 XML 설정파일에서 SqlSessionFactory 인스턴스를 빌드할 수 있다;</description>
    </item>
    <item rdf:about="http://www.egovframe.go.kr/wiki/doku.php?id=egovframework:rte2:psl:dataaccess:ibatis_configuration&amp;rev=1703136093&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2023-12-21T05:21:33+00:00</dc:date>
        <title>egovframework:rte2:psl:dataaccess:ibatis_configuration</title>
        <link>http://www.egovframe.go.kr/wiki/doku.php?id=egovframework:rte2:psl:dataaccess:ibatis_configuration&amp;rev=1703136093&amp;do=diff</link>
        <description>iBATIS 의 메인 설정 파일인  SQL Map XML Configuration 파일(이하 sql-map-config.xml 설정 파일) 작성과 상세한 옵션 설정에 대해 알아본다.

sql-map-config.xml

SqlMapClient 설정관련 상세 내역을 제어할 수 있는 메인 설정 파일로 주로 transaction 관리 관련 설정 및 다양한 옵션 설정, Sql Mapping 파일들에 대한 path 설정 등을 포함한다.</description>
    </item>
    <item rdf:about="http://www.egovframe.go.kr/wiki/doku.php?id=egovframework:rte2:psl:dataaccess:ibatis_vs_mybatis&amp;rev=1703136093&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2023-12-21T05:21:33+00:00</dc:date>
        <title>egovframework:rte2:psl:dataaccess:ibatis_vs_mybatis</title>
        <link>http://www.egovframe.go.kr/wiki/doku.php?id=egovframework:rte2:psl:dataaccess:ibatis_vs_mybatis&amp;rev=1703136093&amp;do=diff</link>
        <description>본 가이드는 MyBatis와 iBatis의 차이점을 설명한다.

변경된 용어(종합)
iBatis  MyBatis  비고  com.ibatis.*	 org.apache.ibatis.*  패키지 구조 변경  SqlMapConfig  Configration  용어변경  sqlMap  mapper  용어변경  sqlMapClient  sqlSession  구문대체  rowHandler  resultHandler  구문대체  resultHandler  SqlSessionFactory  구문대체   parameterMap, parameterClass  parameterType  속성 통합  resultClass  resultType  용어변경  #var#  #{var}  구문대체  $var$   ${var}  구문대체  &lt;isEqual&gt; , &lt;isNull&gt;  &lt;if&gt;  구문대체 
변경사항

패키지 구조 변경
iBatis  MyBatis   com.ibatis.*  org.apache.ibati…</description>
    </item>
    <item rdf:about="http://www.egovframe.go.kr/wiki/doku.php?id=egovframework:rte2:psl:dataaccess:inline_parameters&amp;rev=1703136093&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2023-12-21T05:21:33+00:00</dc:date>
        <title>egovframework:rte2:psl:dataaccess:inline_parameters</title>
        <link>http://www.egovframe.go.kr/wiki/doku.php?id=egovframework:rte2:psl:dataaccess:inline_parameters&amp;rev=1703136093&amp;do=diff</link>
        <description>이전에 살펴본 prepared statement 에 대한 바인드 변수 매핑 처리를 위한 parameterMap 요소(SQL 문 외부에 정의한 입력 객체 property name 및 javaType, jdbcType 을 비롯한 옵션을 설정매핑 요소) 와 동일한 기능을 처리하는 간편한 방법을 Inline Parameters 방법으로 제공한다. 
보통 parameterClass 로 명시된 입력 객체에 대해 바인드 변수 영역을 간단한 #property# 노테이션으로 나타내는 Inline Parameter 방법은 기존 parameterMap 에서의 ? 와 이의 순서를 맞춘 외부 parameterMap 선언으로 처리하는 방법에 비해 많이 사용되고 일반적으로 추천하는 방법이다. 이는 Dynamic 요소와 함께 사용될 수 있고 별도의 외부 매핑 정의없이 바인드 변수 처리가 필요한 위치에 해당 property 를 직접 사용 가능하며, 필요한 경우 jdbcType 이나 nullValue 를 간단한 추…</description>
    </item>
    <item rdf:about="http://www.egovframe.go.kr/wiki/doku.php?id=egovframework:rte2:psl:dataaccess:mapper_xml_files&amp;rev=1703136093&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2023-12-21T05:21:33+00:00</dc:date>
        <title>egovframework:rte2:psl:dataaccess:mapper_xml_files</title>
        <link>http://www.egovframe.go.kr/wiki/doku.php?id=egovframework:rte2:psl:dataaccess:mapper_xml_files&amp;rev=1703136093&amp;do=diff</link>
        <description>MyBatis Mapper XML (SQL Mapping XML) File은 실행할 SQL문을 정의해놓은 파일로서,

SQL문 실행을 위해 Parameter Object를 받아오거나 SQL문 실행 결과를 Result Obejct에 자동 바인딩하는 기능 등을 제공한다.

다음은 MyBatis Mapper XML File에서 사용할 수 있는 요소와 속성에 관한 설명이다.</description>
    </item>
    <item rdf:about="http://www.egovframe.go.kr/wiki/doku.php?id=egovframework:rte2:psl:dataaccess:mybatis&amp;rev=1703136093&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2023-12-21T05:21:33+00:00</dc:date>
        <title>egovframework:rte2:psl:dataaccess:mybatis</title>
        <link>http://www.egovframe.go.kr/wiki/doku.php?id=egovframework:rte2:psl:dataaccess:mybatis&amp;rev=1703136093&amp;do=diff</link>
        <description>본 가이드는 mybatis와 ibatis의 차이점을 설명하였다.

변경된 용어(종합)
ibatis  mybatis  비고  com.ibatis.*	 org.apache.ibatis.*  패키지 구조 변경  SqlMapConfig  Configration  용어변경  sqlMap  mapper  용어변경  sqlMapClient  sqlSession  구문대체  rowHandler  resultHandler  구문대체  resultHandler  SqlSessionFactory  구문대체   parameterMap, parameterClass  parameterType  속성 통합  resultClass  resultType  용어변경  #var#  #{var}  구문대체  $var$   ${var}  구문대체  &lt;isEqual&gt; , &lt;isNull&gt;  &lt;if&gt;  구문대체 
변경사항

패키지 구조 변경
ibatis  mybatis   com.ibatis.*  org.apache.ibat…</description>
    </item>
    <item rdf:about="http://www.egovframe.go.kr/wiki/doku.php?id=egovframework:rte2:psl:dataaccess:mybatis_dynamic_sql&amp;rev=1703136093&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2023-12-21T05:21:33+00:00</dc:date>
        <title>egovframework:rte2:psl:dataaccess:mybatis_dynamic_sql</title>
        <link>http://www.egovframe.go.kr/wiki/doku.php?id=egovframework:rte2:psl:dataaccess:mybatis_dynamic_sql&amp;rev=1703136093&amp;do=diff</link>
        <description>일반적으로 JDBC API를 사용한 코딩에서 다양한 조건에 따라 다양한 형태의 쿼리의 실행이 필요한 경우가 존재하며 이에 MyBatis는 강력한 동적 SQL 언어를 제공한다.

MyBatis는 SQL문의 동적인 변경에 대해 iBatis보다 상대적으로 유연하다. 
 
iBatis도 다양한 Dynamic 요소를 제공하였으나 이해해야 하는 요소들이 많았다.</description>
    </item>
    <item rdf:about="http://www.egovframe.go.kr/wiki/doku.php?id=egovframework:rte2:psl:dataaccess:mybatisguide&amp;rev=1703136093&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2023-12-21T05:21:33+00:00</dc:date>
        <title>egovframework:rte2:psl:dataaccess:mybatisguide</title>
        <link>http://www.egovframe.go.kr/wiki/doku.php?id=egovframework:rte2:psl:dataaccess:mybatisguide&amp;rev=1703136093&amp;do=diff</link>
        <description>개요


전자정부 표준프레임워크 기반 MyBatis 적용 가이드이다.



Step 1. pom.xml 변경


표준프레임워크 dataaccess artifact version을 다음과 같이 2.7.0으로 변경한다.


&lt;!-- 실행환경 라이브러리 --&gt;
&lt;dependency&gt;
	&lt;groupId&gt;egovframework.rte&lt;/groupId&gt;
	&lt;artifactId&gt;egovframework.rte.psl.dataaccess&lt;/artifactId&gt;
	&lt;version&gt;2.7.0&lt;/version&gt;
&lt;/dependency&gt;</description>
    </item>
    <item rdf:about="http://www.egovframe.go.kr/wiki/doku.php?id=egovframework:rte2:psl:dataaccess:parametermap&amp;rev=1703136093&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2023-12-21T05:21:33+00:00</dc:date>
        <title>egovframework:rte2:psl:dataaccess:parametermap</title>
        <link>http://www.egovframe.go.kr/wiki/doku.php?id=egovframework:rte2:psl:dataaccess:parametermap&amp;rev=1703136093&amp;do=diff</link>
        <description>parameterMap 은 해당 요소로 SQL 문 외부에 정의한 입력 객체의 속성에 대한 name 및 javaType, jdbcType 을 비롯한 옵션을 설정할 수 있는 매핑 요소이다. 이를 통해 JavaBeans 객체(또는 Map 등)에 대한 prepared statement 에 대한 바인드 변수 매핑을 처리할 수 있다. 유사한 기능을 처리하는 parameterClass 나 Inline Parameter 에 비해 많이 사용되지 않지만 더 기술적인(descriptive) parameterMap(예를 들어 stored procedure 를 위한) 이 필요하거나, XML 의 일관된 사용과 순수성을 지키고자 할때 좋은 접근법이 될 수도 있다. 그러나 Dynamic 요소와 함께 사용될 수 없고 바인드 변수의 갯수와 순서를 정확히 맞춰야 하는 불편이 있는 등 일반적으로 사용을 추천하지 않는다.…</description>
    </item>
    <item rdf:about="http://www.egovframe.go.kr/wiki/doku.php?id=egovframework:rte2:psl:dataaccess:resultmap&amp;rev=1703136093&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2023-12-21T05:21:33+00:00</dc:date>
        <title>egovframework:rte2:psl:dataaccess:resultmap</title>
        <link>http://www.egovframe.go.kr/wiki/doku.php?id=egovframework:rte2:psl:dataaccess:resultmap&amp;rev=1703136093&amp;do=diff</link>
        <description>resultMap 은 SQL 문 외부에 정의한 매핑 요소로, result set 으로부터 어떻게 데이터를 뽑아낼지, 어떤 칼럼을 어떤 property로 매핑할지에 대한 상세한 제어를 가능케 해준다. resultMap 은 일반적으로 가장 많이 사용되는 중요한 매핑 요소로 resultClass 속성을 이용한 자동 매핑 접근법에 비교하여 칼럼 타입의 지시, null value 대체값, typeHandler 처리, complex property 매핑(다른 JavaBean, Collections 등을 포함하는 복합 객체) 등을 허용한다.…</description>
    </item>
    <item rdf:about="http://www.egovframe.go.kr/wiki/doku.php?id=egovframework:rte2:psl:dataaccess:spring_ibatis_integration&amp;rev=1703136093&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2023-12-21T05:21:33+00:00</dc:date>
        <title>egovframework:rte2:psl:dataaccess:spring_ibatis_integration</title>
        <link>http://www.egovframe.go.kr/wiki/doku.php?id=egovframework:rte2:psl:dataaccess:spring_ibatis_integration&amp;rev=1703136093&amp;do=diff</link>
        <description>Spring 프레임워크는 iBATIS SQL Map 을 이미 잘 통합하고 있으며, JDBC/Hibernate 에 대한 연동과 동일하게 template 스타일 프로그래밍이 가능토록 지원한다.
이러한 지원으로 Spring 의 특징인 IoC 의 장점과 Exception 계층 구조의 처리가 iBATIS 통합 환경에서도 쉽게 사용되고 있으며, iBATIS 단독 사용 시에 트랜잭션 관리 및 DataSource 에 대한 설정 및 관리가 별도로 필요했던 것에 비해 Spring-iBATIS 통합 환경에서는 Spring 의 유연한 트랜잭션 처리와 dataSource 를 그대로 사용할 수 있다.…</description>
    </item>
</rdf:RDF>
