- 动态SQL
- 关联查询
- 使用业务扩展类实现一对一:
- 使用 resultMap 实现一对一:
- 使用 resultMap 实现一对多:
实现:select stuno,stuname from student where stuname = #{stuName}and stuage = #{stuAge}
第一种写法:
select stuno,stuname,stuage from student where 1=1 and stuname = #{stuName} and stuage = #{stuAge}
第二种写法:
实现:查询学号为1、2、3的学生信息 select stuno,stuname from student where stuno in(1,2,3)
迭代的类型:数组、对象数组、集合、属性(某个类中有属性: List 之类)
public class Grade {
private List stuNos ;
...
}
select * from student #{stuNo}
对象数组形式的:
Student[] students = {student0,student1,student2} //每个studentx包含一个学号属性
提取相同相似SQL片段:
#{student.stuNo}
关联查询 使用业务扩展类实现一对一:
@Data
public class StudentBusiness extends Student{//学生业务扩展类
private int cardId;
private String cardInfo ;
}
使用 resultMap 实现一对一:
@Data //学生类 包含:1学生信息 2学生证信息
public class Student implements Serializable{
//学生信息
private int stuNo ;
private String stuName ;
private int stuAge ;
private String graName ;
private boolean stuSex ;
//学生证信息
private StudentCard card ;//包括俩字段:cardId和cardInfo
}
使用 resultMap 实现一对多:
public class StudentClass {
private int classId;//外键
private String className;
//增加学生属性 (通过该字段,让Student类和StudentClass类建立起关联)
List students ;
}



