mybatis 不同Mapper文件引用resultMap

ClassesMapper.xml:

    <resultMap type="Classes" id="classesMap">
        <id property="id" column="c_id" javaType="int"/>
        <result property="name" column="c_name" javaType="String"/>
<!--    <association property="teacher" javaType="Teacher" >
            <id property="id" column="t_id" javaType="int"/>
            <result property="name" column="t_name" javaType="String"/>
            <result property="age" column="t_age" javaType="int"/>
        </association> -->
        <association property="teacher" javaType="Teacher" resultMap="com.lsj.test.mybatis.mapper.TeacherMapper.teacherMap" ></association>
        <collection property="studentList" ofType="Student" resultMap="com.lsj.test.mybatis.mapper.StudentMapper.studentMap" ></collection>     
    </resultMap>

    <sql id="selectAllClassesSql">
        SELECT 
                c.id as c_id,c.name as c_name,teacher_id,
                t.id as t_id,t.name as t_name,t.age as t_age,
                s.id as stu_id,s.name as stu_name,s.classes_id  
        from classes c,teacher t,student s
    </sql>

TeacherMapper.xml的resultMap:

    <resultMap type="Teacher" id="teacherMap">
        <id property="id" column="t_id" javaType="int"/>
        <result property="name" column="t_name" javaType="String"/>
        <result property="age" column="t_age" javaType="int"/> 
    </resultMap>

利用命名空间+resultMapID就可以直接引用其他Mapper文件的resultMap,其中resultMap的column在本文件中也有用,也可以对应sql语句中的column别名。

猜你喜欢

转载自blog.csdn.net/caser_hdmi/article/details/76064542