相对Hibernate等ORM实现而言,ibatis的映射配置更为简洁直接,下面是一个典型的配置文件。
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE sqlMap
PUBLIC "-//iBATIS.com//DTD SQL Map 2.0//EN"
"http://www.ibatis.com/dtd/sql-map-2.dtd">
<sqlMap namespace="User">
<!-- 模块配置 -->
<typeAlias alias="user" type="com.itmyhome.User" />
<cacheModel id="userCache" type="LRU">
<flushInterval hours="24"/>
<flushOnExecute statement="updateUser"/>
<property name="size" value="1000" />
</cacheModel>
<!-- Statement配置 -->
<select id="getUser" parameterClass="java.lang.String" resultClass="user" cacheModel="userCache">
<![CDATA[
select * from user where id = #id#
]]>
</select>
<insert id="insertUser" parameterClass="user">
insert into user values(#id#,#name#,#age#)
</insert>
<update id="updateUser" parameterClass="user">
update user set name = #name# where id = #id#
</update>
</sqlMap>
可以看到,映射文件主要分为两个部分:模块配置和Statement配置
一、模块配置包括:
typeAlias节点:
定义了本映射文件中的别名,以避免过长变量值的反复书写,此例中通过typeAlias节点为类"com.itmyhome.User"定义了一个别
名"user",这样在本配置文件的其他部分,需要引用&#