多对一的处理
数据库中新建两张表,student、teacher
CREATE TABLE
student(
sidint NOT NULL,
snamevarchar(20) NOT NULL,
tidint NOT NULL, PRIMARY KEY (
sid), KEY
tid(
tid), CONSTRAINT
student_ibfk_1FOREIGN KEY (
tid) REFERENCES
teacher(
id) )
CREATE TABLE `teacher` (
`id` int NOT NULL,
`tname` varchar(20) NOT NULL,
PRIMARY KEY (`id`)
)
打开idea,并连接数据库。
新建student类和teacher类及对应Mapper接口
student类中属性的编写
按结果嵌套处理
<select id="getStudentList" resultMap="StudentTeacher">
select s.sid sid,s.sname sname,t.tname tname
from student s,teacher t
where s.tid=t.id
</select>
<resultMap id="StudentTeacher" type="pojo.Student">
<result property="sid" column="sid"/>
<result property="sname" column="sname"/>
<association property="teacher" javaType="pojo.Teacher">
<result property="name" column="tname"/>
</association>
</resultMap>-->
子查询
<select id="getStudentList" resultMap="StudentTeacher">
select *from student;
</select>
<resultMap id="StudentTeacher" type="pojo.Student" >
<result property="sid" column="sid"/>
<result property="sname" column="sname"/>
<association property="teacher" column="tid" javaType="pojo.Teacher" select="getTeacher"/>
</resultMap>
<select id="getTeacher" resultType="pojo.Teacher">
select *from teacher where id=#{tid};
</select>