栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

MYBATIS05

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

MYBATIS05

文章目录
  • ①. 使用association一对一
  • ②. 使用collection一对多
  • ③. 使用collection多对对
  • ④. 延迟加载使用

①. 使用association一对一
  • ①. 需求:一对一查询的需求:查询一个订单,与此同时查询出该订单所属的用户
//1.实体类
public class User {
    private int id;
    private String username;
    private String password;
    private Date birthday;
    }
public class Orders {
    private int id;
    private String orderTime;
    private double total;
    
    private User user;
    }





    
    
        
        
        
        
        
        
            
            
            
            
        
    
    
    
        select o.id oid,o.ordertime,o.total,o.uid,u.*
        from orders o inner join user u
        on o.uid=u.id
    


②. 使用collection一对多
  • 一对多查询的需求:查询一个用户,与此同时查询出该用户具有的订单

public class User {
    private int id;
    private String username;
    private String password;
    private Date birthday;
    //代表当前用户具备哪些订单
    private List orderList;
    }
    
    
        
        
        
        
        
        
            
            
            
        
    

   
    select * from
    user u ,sys_user_role sur ,sys_role sr
    where u.id=sur.userid and sur.roleid=sr.id
    
④. 延迟加载使用
  • ①. 延迟查询是一对一和一对多查询的延续。

  • ②. 在默认的一对一和一对多中,一条SQL就能够查询到所有数据,但是,有的数据有时候一时半会用不上,例如查询员工,捎带获取员工的部门数据,但是部门数据使用的频率低,这种时候可以使用延迟查询,首先获取到所有的员工数据,然后在需要的时候再去获取部门数据。当需要使用数据的时候才去加载既是延迟加载

  • ③. 如何开启延迟加载

    
    
        
        
        
    
  • ④. 1对1延迟加载
	 
		 
		 
		
		
			 
			 
		 
	 
	 
		SELECT *FROM t_emp t1 
	

  • ⑤. 1对多的延迟加载
 
	 
	 
	 
		 
		 
		 
	


 
	SELECT * FROM t_emp where deptid = #{deptid} 


转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/891752.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号