微服务 教程
1085个小节阅读:195.5k
C语言快速入门
JAVA全系列 教程
面向对象的程序设计语言
Python全系列 教程
Python3.x版本,未来主流的版本
人工智能 教程
顺势而为,AI创新未来
大厂算法 教程
算法,程序员自我提升必经之路
C++ 教程
一门通用计算机编程语言
微服务 教程
目前业界流行的框架组合
web前端全系列 教程
通向WEB技术世界的钥匙
大数据全系列 教程
站在云端操控万千数据
AIGC全能工具班
A A
White Night
在MyBatis的注解开发中对于多表查询只支持分解查询,不支持连接查询。
创建实体类
xxxxxxxxxx
public class Student {
private int sid;
private String name;
private int age;
private String sex;
private Classes classes;
// 省略getter/setter/toString
}
public class Classes {
private int cid;
private String className;
private List<Student> students;
// 省略getter/setter/toString
}
创建分解后的查询方法
xxxxxxxxxx
public interface StudentMapper {
"select * from student") (
List<Student> findAll();
}
public interface ClassesMapper {
// 根据id查询班级
"select * from classes where cid = #{cid}") (
Classes findByCid(Integer cid);
}
主表的查询配置自定义映射关系
xxxxxxxxxx
"select * from student") (
// 自定义映射关系
id = "studentMapper",value = { (
id = true,property = "sid",column = "sid"), (
property = "name",column = "name"), (
property = "age",column = "age"), (
property = "sex",column = "sex"), (
/**
* property:属性名
* column:调用从表方法时传入的参数列
* one:表示该属性是一个对象
* select:调用的从表方法
* fetchType:加载方式
*/
property = "classes",column = "classId", (
one = (select = "com.itbaizhan.mapper.ClassesMapper.findByCid",
fetchType = FetchType.EAGER))
})
List<Student> findAll();
测试
xxxxxxxxxx
public void findAllStudent(){
StudentMapper studentMapper = session.getMapper(StudentMapper.class);
List<Student> all = studentMapper.findAll();
all.forEach(System.out::println);
}
1.在MyBatis中,@Reuslt内定义属性表示该字段为对象类型
A one
B many
C property
D column
2.在MyBatis中使用注解实现多表查询,以下说法正确的是:
A 即支持连接查询,也支持分解查询。
B 即不支持连接查询,也不支持分解查询。
C 只支持连接查询。
D 只支持分解查询。
1=>A 2=>D