1.一对一、多对一(association)
<select id="listPage1" parameterType="java.lang.Long"
resultMap="BaseResultMapOneToOne">
select
<include refid="Base_Column_List" />
from student
</select>
//结果映射
<resultMap id="BaseResultMapOneToOne"
type="com.mbyte.easy.admin.entity.Student">
<id column="id" jdbcType="BIGINT" property="id" />
<id column="class_id" jdbcType="BIGINT" property="classId" />
<id column="name" jdbcType="VARCHAR" property="name" />
<id column="img" jdbcType="VARCHAR" property="img" />
<id column="sex" jdbcType="INTEGER" property="sex" />
<id column="create_time" jdbcType="TIMESTAMP" property="createTime" />
<association property="classInfo" column="class_id"
select="com.mbyte.easy.admin.mapper.ClassInfoMapper.getClassInfoById">
</association>
</resultMap>
<select id="getClassInfoById" parameterType="java.lang.Long"
resultMap="BaseResultMapTest">
select
<include refid="Base_Column_List" />
from class_info
where id = #{id,jdbcType=BIGINT}
</select>
2.一对多、多对多(collections)
<select id="getClassInfo" parameterType="java.lang.Long"
resultMap="BaseResultMapStudent">
select
*
from class_info
</select>
//结果映射
<resultMap id="BaseResultMapStudent"
type="com.mbyte.easy.admin.entity.ClassInfo">
<id column="id" jdbcType="BIGINT" property="id" />
<id column="name" jdbcType="VARCHAR" property="name" />
<id column="remark" jdbcType="VARCHAR" property="remark" />
<collection property="studentList" column="id"
select="getStudnetByClassId" >
</collection>
</resultMap>
<select id="getStudnetByClassId" parameterType="java.lang.Long" resultType="com.mbyte.easy.admin.entity.Student">
select
*
from student
where class_id = #{classId,jdbcType=BIGINT}
</select>
3.传递多个参数时示例
可以将参数封装到一个实体类之中
<!-- 传递两个参数
column={personId=person_id,checkIndexSumId=check_index_sum_id}
传递查询参数名称=数据库字段的名字
-->
<collection property="checkIndexSumPersonChildList"
column="{personId=person_id,checkIndexSumId=check_index_sum_id}"
select="getCheckIndexSumPersonChild"/>
<select id="getCheckIndexSumPersonChild"
resultType="com.mbyte.easy.admin.entity.CheckIndexSumPersonChild">
select * from check_index_sum_person_child
where check_index_sum_id = #{checkIndexSumId}
and person_id = #{personId}
order by id asc
</select>