MyBatis_resultMap的N+1方式实现多表查询(多对 一)

时间:2022-07-22
本文章向大家介绍MyBatis_resultMap的N+1方式实现多表查询(多对 一),主要内容包括其使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。

1 实体类

在班级类中定义一个学生集合, 用于存放该班级的所有学生信息.

2 mapper 层

提供ClazzMapper和StudentMapper, ClazzMapper查询所有班级信息, StudentMapper 根据班级编号查询学生信息. 在 ClazzMapper 中使用设置装配. a) 用于关联一个集合  property: 指定要关联的属性名  select: 设定要继续引用的查询, namespace+id  column: 查询时需要传递的列 ClazzMapper

StudentMapper

3、service层

ClazzServiceImpl.java

package cn.bjsxt.service.impl;

import java.util.List;

import org.apache.ibatis.session.SqlSession;

import cn.bjsxt.mapper.ClazzMapper;
import cn.bjsxt.pojo.Clazz;
import cn.bjsxt.service.ClazzService;
import cn.bjsxt.util.MyBatisUtil;

public class ClazzServiceImpl implements ClazzService{

	@Override
	public List<Clazz> selAll() {
		SqlSession session = MyBatisUtil.getSession();
		
		ClazzMapper mapper = session.getMapper(ClazzMapper.class);
		List<Clazz> list = mapper.selAll();
		
		session.close();
		return list;
	}

	
		

}