使用resultMap, select 标签, resultMap的中的collection表示一对多,column对应select标签中的sql里的字段或者别名,当两个表字段名称有相同的情况下,可以定义别名。
<resultMap id=”authorWorksInfo” type=”package.vo.AuthorWorksInfo”>
<id column=”id” property=”id”/>
<result column=”name” property=”name”/>
<result column=”gender” property=”gender”/>
<collection property=”books” ofType=”package.vo.Book”>
<id column=”bid” property=”bid”/>
<result column=”aid” property=”aid”/>
<result column=”bookName” property=”bookName”/>
</collection>
</resultMap>
<select id=”queryAuthorWorks” resultMap=”authorWorksInfo”>
select a.id, a.name, a.gender,
b.id as bid, b.author_id as aid, b.name as bookName
from author a
left join book b
on a.id = b.aid
</select>
上面sql对应的要返回的AuthorWorksInfo类的属性如下:
private Long id;
private String name;
private String gender;
private List<Book> books;
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。