一:resultMap与resultType、parameterMap与 parameterType的区别

1)resultMap & resultType 两者都表示结果集与java之间的关系,处理查询结果集,映射Java对象
2) resultMap 是一种“查询结果集---Bean对象”属性名称映射关系,使用resultMap关系可将将查询结果集中的列一一映射到bean对象的各个属性(两者属性名可以不同,配置好映射关系即可),适用与复杂一点的查询,如表的链接查询,表的一对多连接查询,映射的查询结果集中的列标签可以根据需要灵活变化,并且,在映射关系中,还可以通过typeHandler设置实现查询结果值的类型转换,比如布尔型与0/1的类型转换。
3) resultType 是一种“查询结果集---Bean对象”数据类型映射关系,使用resultType关系,即可使Bean对象接收查询结果集;见名知意,该方法是通过查询结果集中每条记录(属性)的数据类型和Bean对象的数据类型作映射,若两者都相同,则表示匹配成功,Bean可以接收到查询结果
4)一般使用**parameterType**直接将查询结果列值类型自动对应到java对象属性类型上,不再配置映射关系一一对应(ParameterMap(不推荐)

二:多表查询

A)一对多查询:

<select id="findItemCat" resultMap="ItemCatItemRM">  resultMap命名主表在前,从表在后 

<resultMap  type="pojo"  id="ItemCatItemRM">  对象

<id property="id" column="cid" /> 主键

<result property="name" column="name" /> 普通字段

<collection property="items"  ofType="pojo"> ofType pojo对象


B)一对一

<association property="itemDesc">  从表

3)sql语句搭配的标签
where-if 用在查询
set-if 更新
sql-include 

真理求知者
4 声望0 粉丝

在黑暗在探索光明,在迷茫中寻找真理!


下一篇 »
AOP