mybatis嵌套resultMap
SQL语句:
select c1, c2, c3, c4...cn from some_table
Mybatis mapper.xml
<select id="query" resultMap="SomethingMap">
select c1, c2, c3, c4...cn from some_table where someconditions
</select>
<resultMap type="com.package.SomeClass" id="SomethingMap">
<collection property="partOne" resultMap="PartOneMap"/>
<collection property="partTwo" resultMap="PartTwoMap"/>
</resultMap>
<resultMap type="com.package.PartOneClass" id="PartOneMap">
<collection property="c1" column="c1" jdbcType="VARCHAR"/>
<collection property="c2" column="c2" jdbcType="VARCHAR"/>
...
</resultMap>
<resultMap type="com.package.PartTwoClass" id="PartTwoMap">
<collection property="c9" column="c9" jdbcType="VARCHAR"/>
<collection property="c10" column="c10" jdbcType="VARCHAR"/>
...
</resultMap>
Java代码
public class SomeClass {
private PartOneClass partOne;
private PartTwoClass partTwo;
// TODO getter and setter
}
public class PartOneClass {
private String c1;
private String c2;
...
// TODO getter and setter
}
public class PartTwoClass {
private String c9;
private String c10;
...
// TODO getter and setter
}
按照以上写法,test亲测有效!
本文详细介绍了MyBatis中嵌套ResultMap的使用,通过一个具体的SQL查询和Mapper配置示例,展示了如何将查询结果映射到包含两个内部类的对象中。PartOneClass和PartTwoClass分别对应查询结果的不同部分,通过collection元素进行映射。这种映射方式有助于处理复杂的数据结构,提高代码的可读性和维护性。
360

被折叠的 条评论
为什么被折叠?



