共计 885 个字符,预计需要花费 3 分钟才能阅读完成。
一: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
正文完