java实体类代码:
package com.zx.mybatis.entity;
import java.util.List;
public class Student2 {
private int sId;
private String sName;
private List<Course> cous;
public Student2() {
}
public Student2(int sId, String sName, List<Course> cous) {
super();
this.sId = sId;
this.sName = sName;
this.cous = cous;
}
public int getsId() {
return sId;
}
public void setsId(int sId) {
this.sId = sId;
}
public String getsName() {
return sName;
}
public void setsName(String sName) {
this.sName = sName;
}
public List<Course> getCous() {
return cous;
}
public void setCous(List<Course> cous) {
this.cous = cous;
}
@Override
public String toString() {
return "Student2 [sId=" + sId + ", sName=" + sName + ", cous=" + cous + "]";
}
}
package com.zx.mybatis.entity;
import java.util.List;
public class Course {
private int cId;
private String cName;
private List<Student2> stus;
public Course() {
}
public Course(int cId, String cName, List<Student2> stus) {
super();
this.cId = cId;
this.cName = cName;
this.stus = stus;
}
public int getcId() {
return cId;
}
public void setcId(int cId) {
this.cId = cId;
}
public String getcName() {
return cName;
}
public void setcName(String cName) {
this.cName = cName;
}
public List<Student2> getStus() {
return stus;
}
public void setStus(List<Student2> stus) {
this.stus = stus;
}
@Override
public String toString() {
return "Course [cId=" + cId + ", cName=" + cName + ", stus=" + stus + "]";
}
}
dao接口代码:
package com.zx.mybatis.mapper;
import java.util.List;
import java.util.Map;
import com.zx.mybatis.entity.BanJi;
import com.zx.mybatis.entity.Course;
import com.zx.mybatis.entity.Student;
import com.zx.mybatis.entity.Student1;
import com.zx.mybatis.entity.Student2;
public interface StudentMapper {
public List<Student2> selectSC();
public List<Course> selectSC1();
}
mapper.xml代码:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<select id="selectSC" resultMap="stu2">
select s.id sid,s.user_name,c.id cid, c.course_name from student s, course c, mid m where s.id = m.sid and c.id = m.cid
</select>
<resultMap type="Course" id="stu2">
<id column="sid" property="sId"/>
<result column="user_name" property="sName"/>
<collection property="cous" ofType="Course">
<id column="cid" property="cId"/>
<result column="course_name" property="cName"/>
</collection>
</resultMap>
</mapper>
java测试代码:
package com.zx.mybatis.test;
import java.util.List;
import org.apache.ibatis.session.SqlSession;
import org.junit.Test;
import com.zx.mybatis.entity.BanJi;
import com.zx.mybatis.entity.LeiMu;
import com.zx.mybatis.entity.LeiMu1;
import com.zx.mybatis.entity.Student1;
import com.zx.mybatis.entity.Student2;
import com.zx.mybatis.mapper.LeiMuMapper;
import com.zx.mybatis.mapper.StudentMapper;
import com.zx.mybatis.util.MybatisUtil;
public class Test2 {
private static SqlSession sqlSession;
static {
sqlSession = MybatisUtil.getSqlSession();
}
@Test
public void Test5() {
StudentMapper sm = sqlSession.getMapper(StudentMapper.class);
List<Student2> stus = sm.selectSC();
for(Student2 s : stus) {
System.out.println(s);
}
sqlSession.close();
}
}