MyBatis之一对多处理


MyBatis

11、一对多处理

  • 比如:一个老师拥有多个学生!
    对于老师而言,就是一对多的关系!

11.1、环境搭建同多对一

  • 实体类

    • public class Student {
          private int studentId;
          private String studentName;
         private int teacherId;
      }
      
    • public class Teacher {
          private Integer teacherId;
          private String teacherName;
          //一个老师有多个学生
          private List students;
      }
      

11.2、按照查询嵌套处理

  • 
        
            
            
            
        
    
    

11.3、按照结果嵌套处理

  • 
         
        
            
            
            
            
                
                
                
            
        
    

11.4、小结

  • 关联-association 多对一
  • 集合-collection 一对多
  • javaType && ofType
    • JavaType 用来指定实体类中属性的类型。
    • ofType 用来指定映射到List或者集合中的pojo类型,泛型中的约束类型!

11.5、注意点

  • 保证SQL的可读性,尽量保证通俗易懂。
  • 注意一对多和多对一中,属性名和字段的问题!
  • 如果问题不好排查错误,可以使用日志,建议使用Log4j。
  • 注意慢SQL。

11.6、面试高频

  • Mysql引擎。
  • InnoDB底层原理。
  • 索引。
  • 索引优化。