您的位置:首页 > 其它

MyBatis中映射文件的组成标签

2011-08-02 21:25 393 查看
MyBaits真正的核心是在映射语句中,对于所有的SQL映射的XML文件,对比JDBC代码量大约节省了95%的代码量。

分离SQL与J***A代码,便于数据库设计人员更好的优化SQL及修改。

SQL映射文件的顶级元素:

cache:配置给定命名空间的缓存

cache-ref:从其他命名空间引用缓存配置

resultMap:最复杂,最有力量的元素,用来描述如何从数据库结果集中来加载你的对象

sql:可以重用的SQL块,也可以被其他语句引用

insert:映射插入语句

update:映射更新语句

delete:映射删除语句

select:映射查询语句

下面通过select实例,来了解相关属性信息

<select

id="selectPerson"

parapeterType="int"

resultType="hashmap"

resultMap="personResultMap"

flushCache="false"

useCache="true"

timeout="10000"

fetchSize="256"

statementType="PREPARED"

resultSetType="FORWORD_ONLY"

>

id:在命名空间中唯一的标识符

paramerType:将会传入这条语句的参数类的完全限定名或别名

resultType:从这条语句中返回的期望类型的类的完全限定名或别名。

resultMap:设置返回集合中的元素的完全限定名或别名

flushCache:将其设置为true,不论语句什么时候被调用,都会导致缓存被清空。默认为false

useCache:设置为true,将会导致本条语句的结果被缓存。默认为true。

timeout:设置驱动程序等待数据库返回请求结果,并抛出异常事件的最大等待值。默认不设置

fetchSize:暗示驱动程序每次批量返回的结果行数。默认不设置

statementType:STATEMENT、PREPARED或CALLABLE的一种,这会让MyBatis使用选择Statement、PreparedStatement或

CallableStatement。默认值:PREPARED

resultSetType:设置游标FORWARD_ONLY|SCROLL_SENSITIVE|SCROLL_INSENSITIVE中的一种。默认不设置

重用SQL

<sql id="userColumns">id,username,password</sql>

这个SQL片段可以被包含在其他语句中,eg:

<select id="selectUsers" paramertType="int" resultType="hashmap">

select <include refid="userColumns"/>

from some_table

</select>

完全限定名使用别名替代

在总配置文件中,使用如下代码

<typeAlias type="com.someapp.model.User" alias="User"/>

那么在Mapper中,可以直接使用User,即表示com.someapp.model.User
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: