7、mybatis-映射文件-总体概述
2019-08-18 本文已影响28人
唯老
一、说明
MyBatis 的真正强大在于它的映射语句,也是Mybatis最核心的内容。由于它的异常强大,映射器的 XML 文件就显得相对简单。如果拿它跟具有相同功能的 JDBC 代码进行对比,你会立即发现省掉了将近 95% 的代码。MyBatis 就是针对 SQL 构建的,并且比普通的方法做的更好
SQL 映射文件有很少的几个顶级元素(按照它们应该被定义的顺序)
-
cache
– 给定命名空间的缓存配置。 -
cache-ref
– 其他命名空间缓存配置的引用。 -
resultMap
– 是最复杂也是最强大的元素,用来描述如何从数据库结果集中来加载对象。 -
sql
– 可被其他语句引用的可重用语句块。 -
insert
– 映射插入语句 -
update
– 映射更新语句 -
delete
– 映射删除语句
二、完整的配置文件
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper
PUBLIC "-//ibatis.apache.org//DTD Mapper 3.0//EN"
"http://ibatis.apache.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="">
<cache type="PERPETUAL" eviction="LRU" flushInterval="60000"
size="512" readOnly="true"/>
<cache-ref namespace=""/>
<sql id="">
</sql>
<resultMap id="" type="">
</resultMap>
<insert id=""
parameterType=""
flushCache="true"
statementType="PREPARED"
keyProperty=""
keyColumn=""
useGeneratedKeys="false"
timeout="20">
<selectKey
keyProperty="userId"
resultType=""
order="BEFORE"
databaseId=""
statementType="PREPARED">
</selectKey>
</insert>
<update
id=""
parameterType=""
flushCache="true"
statementType="PREPARED"
timeout="20">
</update>
<delete
id=""
parameterType=""
flushCache="true"
statementType="PREPARED"
timeout="20">
</delete>
<select
id=""
parameterType="int"
parameterMap=""
resultType=""
resultMap=""
flushCache="false"
useCache="true"
timeout="10000"
fetchSize="256"
statementType="PREPARED"
resultSetType="FORWARD_ONLY">
</select>
</mapper>