1 一对多查询
对 student 数据表和 classes 数据表进行级联查询。(通过学生查班级)
- 创建实体类 Classes 和 Student
package com.southwind.entity;
import lombok.Data;
import java.util.List;
@Data
public class Classes {
private long id;
private String name;
private List<Student> students;
}
package com.southwind.entity;
import lombok.Data;
@Data
public class Student {
private long id;
private String name;
private Classes classes;
}
- 创建 StudentRepository 接口
package com.southwind.repository;
import com.southwind.entity.Student;
public interface StudentRepository {
public Student findById(long id);
}
- 创建 StudentRepository.xml
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.southwind.repository.StudentRepository">
<select id="findById" parameterType="long" resultType="com.southwind.entity.Student">
select s.id,s.name,c.id,c.name from student s,classes c where s.id=#{id} and s.cid=c.id
</select>
</mapper>
- 在 config.xml 中注册 StudentRepository.xml
<mapper resource="com/southwind/repository/StudentRepository.xml"></mapper>
- 调用接口的代理对象完成相关的业务操作
package com.southwind.test;
import com.southwind.repository.StudentRepository;
import o