我们先来看看这两张表
表名:tbl_student
字段:id,name,class_id
表名:tbl_class
字段:id,name
很简单的一个逻辑,班级下边有很多学生。我们先对学生表做简单的查询。
model
public class student
{
private string id;
private string name;
private stirng birth;
private string class_id;
.......................
}
studentmapper.xml
<typealias alias="studentclass" type="model.student"></typealias>
<sql id="select">
<![cdata[
select id,name,class_id
from tbl_student
]]>
</sql>
<resultmap id="studentmap" class="studentclass">
<result property="id" column="id" />
<result property="name" column="name" />
<result property="class_id" column="class_id" />
</resultmap>
<select id="selectall" parameterclass="java.util.map" resultmap="studentmap">
<include refid="select" />
</select>
但是我想加入班级名称在里面呢?这个时候student就不够用了,我们需要用dto了。
dto
public class studentdto
private string id;
private string name;
private stirng birth;
private string class_id;
private string class_name;
......................
在原有的studentmapper.xml文件中加入一下内容:
<typealias alias="studentdtoclass" type="dto.studentdto"></typealias>
<resultmap id="studentdtomap" class="studentdtoclass">
<result property="class_name" column="class_name" />
<sql id="select2">
select s.id as id,s.name as name,s.class_id as class_id,c.name as class_name
from tbl_student s,tbl_class c
where s.class_id = c.id
<select id="selectall2" parameterclass="java.util.map" resultmap="studentdtomap">
<include refid="select2" />
一定要注意写as后面的值,这样才能一一对应起来,否则会报错:未指定的列。