MyBatis一对多映射关系的处理及分步查询的优点

目录

一、一对多映射关系的处理

方式一:使用标签

方式二:使用分步查询

二、分步查询的优点


一、一对多映射关系的处理

        这里一对多是指实体类中某个属性是由许多实体类构成的集合,如部门类中员工属性是一个List集合。

方式一:使用标签

配置:


    
    
    
        
        
        
        
    


方式二:使用分步查询

配置:

查询部门信息


    
    
    



根据部门id查询员工信息


    
    
    
    


二、分步查询的优点

● 分布查询的优点是可以实现延迟加载

● 延迟加载可以避免在分步查询中执行所有的SQL语句,节省资源,实现按需加载

● 需要在核心配置文件中添加如下的配置信息


    
    

● lazyLoadingEnabled表示全局的延迟加载开关,true表示所有关联对象都会延迟加载,false表示关闭

● aggressiveLazyLoading表示是否加载该对象的所有属性,如果开启则任何方法的调用会加载这个对象的所有属性,如果关闭则是按需加载

● 由于这个配置是在核心配置文件中设定的,所以所有的分步查询都会实现延迟加载,而如果某个查询不需要延迟加载,可以在collection标签或者association标签中的fetchType属性设置是否使用延迟加载,属性值lazy表示延迟加载,属性值eager表示立即加载

你可能感兴趣的:(mybatis,服务器,数据库,sql,java)