博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
一对多联表查询
阅读量:6935 次
发布时间:2019-06-27

本文共 6737 字,大约阅读时间需要 22 分钟。

一:总结说明

1.需求

  根据classId查询出对应的班级信息,包括学生和老师。

 

2.结构目录

 

3.新建学生表

1 CREATE TABLE student( 2     s_id INT PRIMARY KEY AUTO_INCREMENT, 3     s_name VARCHAR(20), 4     class_id INT 5 ); 6 INSERT INTO student(s_name,class_id) VALUES('xs1',1); 7 INSERT INTO student(s_name,class_id) VALUES('xs2',1); 8 INSERT INTO student(s_name,class_id) VALUES('xs3',1); 9 INSERT INTO student(s_name,class_id) VALUES('xs4',2);10 INSERT INTO student(s_name,class_id) VALUES('xs5',2);11 INSERT INTO student(s_name,class_id) VALUES('xs6',2);

 

4.实体类Student.java

1 package com.jun.bean; 2  3 public class Student { 4     // 5     private int id; 6     private String name; 7     // 8     public Student() {} 9     public Student(int id,String name) {10         this.id=id;11         this.name=name;12     }13     public int getId() {14         return id;15     }16     public void setId(int id) {17         this.id = id;18     }19     public String getName() {20         return name;21     }22     public void setName(String name) {23         this.name = name;24     }25     @Override26     public String toString() {27         return "Student [id=" + id + ", name=" + name + "]";28     }29     30 }

 

5.修改Classes.java类

  因为classes除了老师,现在需要添加一个属性学生,这个学生的属性是List。

  需要修改get set方法,修改构造函数,修改tostring方法。

1 package com.jun.bean; 2  3 import java.util.List; 4  5 public class Classes { 6     // 7     private int id; 8     private String name; 9     private Teacher teacher;10     private List
list; //新添加的属性11 //12 public Classes() {}13 public Classes(int id,String name,Teacher teacher,List
list) {14 this.id=id;15 this.name=name;16 this.teacher=teacher;17 this.list=list;18 }19 public int getId() {20 return id;21 }22 public void setId(int id) {23 this.id = id;24 }25 public String getName() {26 return name;27 }28 public void setName(String name) {29 this.name = name;30 }31 public Teacher getTeacher() {32 return teacher;33 }34 public void setTeacher(Teacher teacher) {35 this.teacher = teacher;36 }37 public List
getList() {38 return list;39 }40 public void setList(List
list) {41 this.list = list;42 }43 @Override44 public String toString() {45 return "Classes [id=" + id + ", name=" + name + ", teacher=" + teacher + ", list=" + list + "]";46 }47 48 }

 

6.Configuration.xml

1 
2 3 4
5
6
7
8
9
10
11
12
13
14
15
16
17
18 19
20
21
22 23

 

二:第一种方式

1.映射文件class.xml

1 
2 5
6
10
13
14
15
16
17
18
19
20
21
22
23
24
25

 

2.测试类

1 package com.jun.main; 2  3 import java.io.IOException; 4 import java.io.Reader; 5  6 import org.apache.ibatis.io.Resources; 7 import org.apache.ibatis.session.SqlSession; 8 import org.apache.ibatis.session.SqlSessionFactory; 9 import org.apache.ibatis.session.SqlSessionFactoryBuilder;10 import org.junit.Test;11 import com.jun.bean.Classes;12 public class MainTest {13     /**14      * 方式一15      * @throws Exception16      */17     @Test18     public void test1() throws Exception {19         Reader reader=Resources.getResourceAsReader("com/jun/config/Configuration.xml");20         SqlSessionFactory sqlSessionFactory=new SqlSessionFactoryBuilder().build(reader);21         SqlSession sqlSession=sqlSessionFactory.openSession(true);                //true后是自动提交22         String statement="one2many.selectAll";23         Classes classes=sqlSession.selectOne(statement, 1);24         System.out.println(classes);25         sqlSession.close();26     }27     28 }

 

3.测试结果

  

 

三:方式二

1.映射文件

1 
2 5
6
10
13
14
15
16
17
18
19
20
21
22
23
24
25 26
33
36
39
42
43
44
45
46
47
48

 

2.测试类

1 package com.jun.main; 2  3 import java.io.IOException; 4 import java.io.Reader; 5  6 import org.apache.ibatis.io.Resources; 7 import org.apache.ibatis.session.SqlSession; 8 import org.apache.ibatis.session.SqlSessionFactory; 9 import org.apache.ibatis.session.SqlSessionFactoryBuilder;10 import org.junit.Test;11 import com.jun.bean.Classes;12 public class MainTest {13     /**14      * 方式一15      * @throws Exception16      */17     @Test18     public void test1() throws Exception {19         Reader reader=Resources.getResourceAsReader("com/jun/config/Configuration.xml");20         SqlSessionFactory sqlSessionFactory=new SqlSessionFactoryBuilder().build(reader);21         SqlSession sqlSession=sqlSessionFactory.openSession(true);                //true后是自动提交22         String statement="one2many.selectAll";23         Classes classes=sqlSession.selectOne(statement, 1);24         System.out.println(classes);25         sqlSession.close();26     }27     /**28      * 方式二29      * @throws Exception30      */31     @Test32     public void test2() throws Exception {33         Reader reader=Resources.getResourceAsReader("com/jun/config/Configuration.xml");34         SqlSessionFactory sqlSessionFactory=new SqlSessionFactoryBuilder().build(reader);35         SqlSession sqlSession=sqlSessionFactory.openSession(true);                //true后是自动提交36         String statement="one2many.selectClass";37         Classes classes=sqlSession.selectOne(statement, 1);38         System.out.println(classes);39         sqlSession.close();40     }41     42 }

 

3.结果

  

 

  

 

转载地址:http://xlgjl.baihongyu.com/

你可能感兴趣的文章
<Power Shell>02 认识powershell
查看>>
Oracle日常巡检
查看>>
jQuery用于请求服务器的函数
查看>>
让iis7.5显示php错误的详细信息~
查看>>
C#中字符串的处理
查看>>
循序渐进 OSPF的详细剖析(三)
查看>>
linux shell脚本之lnmp的搭建
查看>>
rsyslog+loganalyzer+evtsys搭建集中式监控系统
查看>>
[Unity3d]制作打包并载入AssetBundle
查看>>
Excel直接转图片
查看>>
iOS静态库的编译
查看>>
JAVA基础中关于double进制问题的解析
查看>>
Android 图片透明度处理代码
查看>>
邮件服务器问题--邮件积压、传递延迟解决方法
查看>>
Maven2整合集成IntelliJ IDEA创建Web项目
查看>>
实战postfix邮件发送
查看>>
U盘如何量产成USB-CDROM
查看>>
shell批量增删改查百库百表(mysql)
查看>>
网路游侠:日志审计系统与SOC的区别
查看>>
无处不在的网络与中国IPv9
查看>>