mybatisSQL语句映射文件解析

来自:http://limingnihao.iteye.com/blog/781878
mybatisSQL语句映射,跟Hibernate的实体关系映射的XML很相似,用在这里其实就是实体映射和相关的SQL语句的映射。
我关心的内容是:
1、实体XML映射文件的标签
--------SQL 映射XML 文件一些初级的元素:
1. cache – 配置给定模式的缓存
2. cache-ref – 从别的模式中引用一个缓存
3. resultMap – 这是最复杂而却强大的一个元素了,它描述如何从结果集中加载对象
4. sql – 一个可以被其他语句复用的SQL 块
5. insert – 映射INSERT 语句
6. update – 映射UPDATE 语句
7. delete – 映射DELEETE 语句
8. select  -  映射SELECT语句
2、ResultMap的标签和属性
---resultMap属性:type为java实体类;id为此resultMap的标识。
---resultMap可以设置的映射:
1. constructor – 用来将结果反射给一个实例化好的类的构造器
a) idArg – ID 参数;将结果集标记为ID,以方便全局调用
b) arg –反射到构造器的通常结果
2. id – ID 结果,将结果集标记为ID,以方便全局调用
3. result – 反射到JavaBean 属性的普通结果
4. association – 复杂类型的结合;多个结果合成的类型
a) nested result mappings – 几resultMap 自身嵌套关联,也可以引用到一个其它上
5. collection –复杂类型集合a collection of complex types
6. nested result mappings – resultMap 的集合,也可以引用到一个其它上
7. discriminator – 使用一个结果值以决定使用哪个resultMap
a) case – 基本一些值的结果映射的case 情形
i. nested result mappings –一个case 情形本身就是一个结果映射,因此也可以包括一些相同的元素,也可以引用一个外部resultMap。
3、SQL映射语句的属性
id  --  映射标识
parameterType -- 参数类型
resultMap --  resultMap的引用
4、在SQL隐射中引用ResultMap
<resultMap type="ClassEntity" id="classResultMap"> 
    <id property="classID" column="CLASS_ID" /> 
....
</resultMap>

<select id="getTeacher" parameterType="String"  resultMap="teacherResultMap"> 
    SELECT * 
      FROM TEACHER_TBL TT 
     WHERE TT.TEACHER_ID = #{teacherID} 
</select> 

猜你喜欢

转载自boonya.iteye.com/blog/1750115