1. DTD 규칙 정의
◆ 설절 파일의 DTD
@ ibatis
<!DOCTYPE sqlMapConfig
PUBLIC "-//ibatis.apache.org//DTD SQL Map config 2.0//EN"
"http://ibatis.apache.org/dtd/sql-map-config-2.dtd">
@ mybatis
<!DOCTYPE Configuration
PUBLIC "-//mybatis.org//DTD Config 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-config.dtd">
◆ 매퍼 XML의 DTD
@ ibatis
<!DOCTYPE sqlMap
PUBLIC "-//ibatis.apache.org//DTD SQL Map 2.0//EN"
"http://ibatis.apache.org/dtd/sql-map-2.dtd">
@ mybatis
<!DOCTYPE mapper
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
2. 설정 파일 변환 규칙
◆ 최상위 엘리먼트
@ ibatis
<sqlMapConfig>
@ mybatis
<configuration>
◆ settings 엘리먼트
@ ibatis
<sqlMapConfig>
<settings x="x" foo="bar" />
<settings x="y" foo="bar" />
@ mybatis
<configuration>
<settings>
<settings x="x" foo="bar" />
<settings x="y" foo="bar" />
◆ transactionManager 엘리먼트와 dataSource 엘리먼트
@ ibatis
<transactionManager type="JDBC" commit Required="false">
<dataSource type="madnix.package.CustomDataSourceFactory" />
</transactionManager>
@ mybatis
<environments default="env">
<environment id="env">
<transactionManager type="JDBC">
<property name="commit Required" value="false" />
</transactionManager>
</environment>
</environments>
◆ mapper 설정
@ ibatis
<sqlMapConfig>
<sqlMap resource=... />
<sqlMap resource=... />
@ mybatis
<configuration>
<mappers>
<mapper resource=... />
</mappers>
3. 매퍼 XML 변환 규칙
◆ XML 엘리먼트
@ ibatis
<resultMap id="productRM" class="product" groupBy="id">
<result property="id" column="product_id" />
<result property="name" column="product_name" />
<result property="category" column="product_category" />
<result property="subProducts" resultMap="Products.subProductsRM" />
</resultMap>
@ mybatis
<resultMap id="productRM" type="product">
<id property="id" column="product " />
<result property="name" column="product_name " />
<result property="category" column="product_category " />
<collection property="subProducts" resultMap="Products.subProductsRM" />
</resultMap>
◆ 중첩 결과 매핑 설정
@ ibatis
<resultMap .....>
<result property="client" resultMap="Client.clientRM" />
.....
</resultMap>
@ mybatis
<resultMap .....>
<association property="client" resultMap="Client.clientRM" />
.....
</resultMap>
◆ 파라미터 매핑 처리 구문
@ ibatis
parameterMap
@ mybatis
parameterType
◆ 인라인 파라미터(파라미터 표기법)
@ ibatis
#value#
@ mybatis
#{value}#
◆ jdbcType(ORACLECURSOR, NUMBER)
@ ibatis
jdbcType="ORACLECURSOR"
jdbcType="NUMBER"
@ mybatis
jdbcType="CURSOR"
jdbcType="NUMERIC"
◆ 저장 프로시저
@ ibatis
<procedure id="getValues" parameterMap="getValuesPM">
{ ? = call xmlExample.getValues(p_id => ?) }
</procedure>
@ mybatis
<select id="getValues" parameterMap="getValuesPM" statementType="CALLABLE">
{ ? = call xmlExample.getValues(p_id => ?) }
</select>
◆ 캐시
@ ibatis
<cacheModel id="myCache" type="LRU">
<flushInterval hours="24" />
<property name="size" value="100" />
</cacheModel>
@ mybatis
<cache flushInterval="86400000" eviction="LRU" />
◆ 동적 SQL
@ ibatis
<isNotNull.*?property=\"(.*?)\">
@ mybatis
<if test="$1 != null">
</if>
4. 자바 API
◆ SqlMapClient
@ ibatis
com.ibatis.sqlmap.client.SqlMapClient
@ mybatis
org.apache.ibatis.session.SqlSessionFactory
◆ 사용자 정의 타입 핸들러
@ ibatis
com.ibatis.sqlmap.client.extensions.TypeHandlerCallback
@ mybatis
org.apache.ibatis.type.TypeHandler
'Java > mybatis' 카테고리의 다른 글
마이바티스에서 동적 쿼리를 생성하기 (0) | 2014.05.01 |
---|---|
마이바티스는 동적 쿼리문 생성에 사용되는 <if /> 구성 요소를 제공... (1) | 2014.05.01 |
[javaModel, sqlMap]Generator 및 table 엘리먼트에서 설정 가능한 프로퍼티 (0) | 2014.01.01 |
SqlBuilder 의 중요 메소드 (0) | 2013.12.26 |
mapper 인터페이스에서 사용 가능한 annotation (0) | 2013.12.20 |