springboot mybatis 多表操作


mybatis 多表操作

 

 

*******************************

示例

 

school:id、name

student:id、name、age、school_id

 

********************

pojo 层

 

StudentInfo:查询学生所在学校名称

@Data
public class StudentInfo {

    private Integer id;
    private String name;
    private Integer age;
    private String schoolName;

}

 

StudentCount:统计学校学生数量

public class SchoolCount {

    private String schoolName;
    private Integer count;
}

 

********************

dao 层

 

StudentMapper

public interface StudentMapper extends Mapper<Student> {

    List<StudentInfo> getAllStudentInfo();
}

 

SchoolMapper

public interface SchoolMapper extends Mapper<School> {

    List<SchoolCount> getSchoolCount();
}

 

 

********************

mapper.xml 文件

 

StudentMapper.xml

 <select id="getAllStudentInfo" resultType="studentInfo">
    select a.id,a.name,a.age,b.name as schoolName from student a,school b where a.school_id=b.id;
  </select>

 

SchoolMapper.xml

  <select id="getSchoolCount" resultType="schoolCount">
    select b.name as schoolName,count(*) as count from student a,school b where a.school_id=b.id group by b.name;
  </select>

 

********************

controller 层

 

SchoolController

@RestController
public class SchoolController {

    @Autowired
    private SchoolMapper schoolMapper;

    @RequestMapping("/get")
    public List<SchoolCount> get(){
        return schoolMapper.getSchoolCount();
    }
}

 

StudentController

@RestController
public class StudentController {

    @Autowired
    private StudentMapper studentMapper;

    @RequestMapping("/get2")
    public List<StudentInfo> get2(){
        return studentMapper.getAllStudentInfo();
    }
}

 

 

*******************************

使用测试

 

localhost:8080/get

                        

 

localhost:8080/get2

                        

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值