mybatis一对一和一对多系映射详解,以及n+1问题在mybatis分页时数量不对的解决方法

本文主要讲解关于使用mybatis是多表关联,一对一和一对多如何进行关系映射,以及一对多查询时出现n+1问题的解决方法,本次使用oracle数据库为例。
model对象

@Table(name = "SEAT")
public class Seat {
   
   
	private String seatId; //座位id, 字段名:SEAT_ID
	private String seatCode; //座位号, 字段名:SEAT_CODE
	public String getSeatId() {
   
   
		return seatId;
	}
	public void setSeatId(String seatId) {
   
   
		this.seatId = seatId;
	}
	public String getSeatCode() {
   
   
		return seatCode;
	}
	public void setSeatCode(String seatCode) {
   
   
		this.seatCode = seatCode;
	}
}

@Table(name = "STUDENT")
public class Student {
   
   
	//@Column(name = "STU_ID") //注意:如果命名不满足驼峰形式或设置不规则的命名时如stuID,应绑定字段名,否则查询时易报字段异常
	@Id
	private String stuId; //用户id  字段名:STU_ID
	private String stuName; //用户名称  字段名:STU_NAME
	private String stuSeatId; //座位id, 字段名:STU_SEAT_ID ,此处字段命名最好不要用SEAT_ID,
				//以便后面使用resultMap绑定字段时命名不对学生表冲突,导致关联数据无法查出
	private String stuTeaId; //教师id, 字段名:STU_TEA_ID,命名同上
	private Seat seat;  //座位对象
	public String getStuId() {
   
   
		return stuId;
	}
	public void setStuId(String stuId) {
   
   
		this.stuId = stuId;
	}
	public String getStuName() {
   
   
		return stuName;
	}
	public void setStuName(String stuName) {
   
   
		th
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值