老师帮我看一下

老师帮我看一下

StudentMapper.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">
<mapper namespace="students">
    <select id="findOne" parameterType="String" resultType="com.lx.entity.Student">
        select * from t_student where classno = #{value}
    </select>

    <resultMap id="res1" type="com.lx.entity.Student">
        <id property="classno" column="classno"></id>
        <result column="classno" property="classno"/>
        <association property="classNum" select="class.findOne" column="classno"/>
    </resultMap>
    <select id="selectManyToOne" resultMap="res1">
       select * from t_student where stuname = #{value}
    </select>
</mapper>

ClassNoMapper.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">
<mapper namespace="class">
    <select id="findOne" resultType="com.lx.entity.ClassNo" parameterType="String">
        select * from t_classes where classno = #{value}
    </select>

    <resultMap id="rmClass" type="com.lx.entity.ClassNo">
        <id column="classno" property="classno"></id>
        <collection property="students" select="students.findOne" column="classno"/>
    </resultMap>
    <select id="OneToMany" resultMap="rmClass">
        select * from t_classes where name = #{value}
    </select>
</mapper>

Student.java

package com.lx.entity;

public class Student {
    private Integer id;
    private String stuno;
    private String stuname;
    private String sex;
    private String classno;
    private ClassNo classNum;
    public Student(){}

    @Override
    public String toString() {
        return "Student{" +
                "id=" + id +
                ", stuno='" + stuno + '\'' +
                ", stuname='" + stuname + '\'' +
                ", sex='" + sex + '\'' +
                ", classno='" + classno + '\'' +
                ", classNum=" + classNum +
                '}';
    }

    public ClassNo getClassNum() {
        return classNum;
    }

    public void setClassNum(ClassNo classNum) {
        this.classNum = classNum;
    }

    public Integer getId() {
        return id;
    }

    public void setId(Integer id) {
        this.id = id;
    }

    public String getStuno() {
        return stuno;
    }

    public void setStuno(String stuno) {
        this.stuno = stuno;
    }

    public String getStuname() {
        return stuname;
    }

    public void setStuname(String stuname) {
        this.stuname = stuname;
    }

    public String getSex() {
        return sex;
    }

    public void setSex(String sex) {
        this.sex = sex;
    }

    public String getClassno() {
        return classno;
    }

    public void setClassno(String classno) {
        this.classno = classno;
    }
}

ClassNo.java

package com.lx.entity;

import java.util.List;

public class ClassNo {
    private Integer id;
    private String classno;
    private String name;
    private String major;
    private List<Student> stus;

    @Override
    public String toString() {
        return "ClassNo{" +
                "id=" + id +
                ", classno='" + classno + '\'' +
                ", name='" + name + '\'' +
                ", major='" + major + '\'' +
                ", students=" + stus +
                '}';
    }

    public List<Student> getStudents() {
        return stus;
    }

    public void setStudents(List<Student> stus) {
        this.stus = stus;
    }

    public ClassNo() {
    }

    public Integer getId() {
        return id;
    }

    public void setId(Integer id) {
        this.id = id;
    }

    public String getClassno() {
        return classno;
    }

    public void setClassno(String classno) {
        this.classno = classno;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public String getMajor() {
        return major;
    }

    public void setMajor(String major) {
        this.major = major;
    }
}

StudentTest.java

package com.lx.test;

import com.lx.JDBCutils.JdbcUtil;
import com.lx.entity.ClassNo;
import com.lx.entity.Student;
import org.apache.ibatis.session.SqlSession;
import org.junit.Test;

import java.util.List;

public class StudentTest {
    /**
     * 1对多
     */
    @Test
    public void testOneToMany(){
        SqlSession session = null;
        try{
            session = JdbcUtil.getSqlSession();
            List<ClassNo> classNos = session.selectList("class.OneToMany", "一班");
            List<Student> s = null;
            for (ClassNo t: classNos
                 ) {
                s = t.getStudents();
            }
            for(Student t : s){
                System.out.println("一班同学:"+t.getStuname());
            }
        }catch (Exception e){
            e.printStackTrace();
        }finally {
            JdbcUtil.getClose(session);
        }
    }

    /**
     * 多对1
     */
    @Test
    public void testManyToOne(){
        SqlSession session = null;
        try{
            session = JdbcUtil.getSqlSession();
            List<Student> stus = session.selectList("students.selectManyToOne","小梅");
            for(Student u : stus){
                System.out.println(u.getStuname()+":"+u.getClassNum().getName());
            }
        }catch (Exception e){

        }finally {
            JdbcUtil.getClose(session);
        }
    }

}


正在回答 回答被采纳积分+1

登陆购买课程后可参与讨论,去登陆

1回答
好帮手慕柯南 2019-08-28 11:31:52

同学完成的不错,很棒,加油,祝学习愉快~

问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
请稍等 ...
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师