目录
该标签的作用是自定义映射关系。
Mybatis可以将数据库结果封装到对象中,是因为结果集和对象属性名相同(也就是你写的pojo类型的参数名和数据库的字段名相同)
但是如果当他们不一样时,Mybatis就无法自动完成映射关系。
那我们该如何解决呢?
第一种方法我们可以起别名。
<select id="find" resultType="com.gq.pojo.Teacher"> select tid as id,tname as teacherName from teacher select>第二种就是自定义映射关系了。
<resultMap id="teacherMapper" type="com.itbaizhan.pojo.Teacher"> <id property="id" column="tid">id> <result property="teacherName" column="tname">result> resultMap>后面直接使用reultMap代替resultType。
<select id="findAll" resultMap="teacherMapper"> select * from teacher select>
(1)id:该标签是表示主键
(2)result:一般属性用来配置映射关系的
(3)association标签:
property:表示pojo类集合中的属性
select:表示所需要的那个类的查询语句
column:从resultMap中传过去用作查询的参数
ofType:集合属性中的对象(可以不写)
(4)collection标签:
property:表示pojo类集合中的属性
select:表示所需要的那个类的查询语句
column:从resultMap中传过去用作查询的参数
ofType:集合属性中的对象(可以不写)
association和collection之间的区别就是前者是针对一个对象而言,后者是针对一个集合而言!