老师帮我看一下
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);
}
}
}32
收起
正在回答 回答被采纳积分+1
3. Java 数据库开发与实战应用
- 参与学习 人
- 提交作业 357 份
- 解答问题 8016 个
本阶段将带你学习MySQL数据库,JDBC接口,MyBatis框架等,带你掌握的数据的存放和管理。
了解课程
恭喜解决一个难题,获得1积分~
来为老师/同学的回答评分吧
0 星