栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

使用MyBatis进行多表查询(一对一、一对多)

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

使用MyBatis进行多表查询(一对一、一对多)

  使用MyBatis进行多表联查的关键是构建数据库中表的字段和java中对象的属性的映射关系,构建映射关系的方式有两种:Mapper.xml配置文件和注解

下面以学生表和班级表来举例:

  • 建立学生表和班级表:
CREATE TABLE student(
	sid INT PRIMARY KEY auto_increment,
	sname VARCHAr(20),
	classid INT
);


CREATE TABLE class(
	classid INT PRIMARY KEY auto_increment,
	classname VARCHAr(20)
);

在学生表和班级表的关系中,每个学生只能对应一个班级(一对一的关系),每个班级对应多个学生(一对多的关系)

  • 构建对应的实体类:
public class Student {
	
	private int sid;
	private String sname;
	private int classid;
	
	//一个学生只属于一个班级
	private Classs classs;
	
	//无参构造、有参构造、get和set方法
}
public class Classs {

	private int classid;
	private String classname;
	
	//一个班级有多个学生
	private List slist;

	//无参构造、有参构造、get和set方法
}
  • 写主配置文件,声明Mapper配置文件所在包
  • 在对应包下在接口文件中定义方法并利用xml配置文件或注解构建映射关系
Mapper.xml配置文件构建映射关系:
  • 接口文件:
public interface StudentMapper {
	public List findAllStudent();
}
public interface ClassMapper {
	public List findAllClass();
}
  • xml配置文件:
	
	
		
		
		
		
		
		
			
			
		
	
	

	
		select * from student inner join class on student.classid = class.classid