当前位置 : 主页 > 编程语言 > c++ >

Mybatis一对多、多对一以及多对多映射的写法

来源:互联网 收集:自由互联 发布时间:2021-07-03
t.text 一对多使用懒加载,懒加载指的是不适用的时候只查询一的对象,当使用到多的对象的时候才会进行查询,一对多使用的是association这个元素,需要在里面加入fetchType这个元素,其
t.text
一对多使用懒加载,懒加载指的是不适用的时候只查询一的对象,当使用到多的对象的时候才会进行查询,一对多使用的是
association这个元素,需要在里面加入fetchType这个元素,其中有两个值,一个是eager表示立即加载,一个是lazy,
表示的是懒加载,所以在一对多中的association元素中加入fetchType="lazy",同时需要在mybatis.xml配置文件中
加入
 

 
这两句话。

多对一使用的是立即加载,通常使用连接查询,同时查询两张表,通过collection元素来实现,其中的property中的对象
主要是用来封装查询的结果。例子:

 
	 
  
	 
  
	 
  
	  
  
	
  
	  
   
    
    
  
	
 
	
上述代码中查询语句selectStudent中使用连接查询,通过where来关联两张表中的一个列,该列是主表的外键。当碰到连接
查询中表中的列的名称相同时,可以采用AS自己定义一个列,同时在column中进行引用即可。

多对多查询主要是把两张表中的主键共同作为关系表的主键,同时他们也是外键。之后在查询语句中通过子查询即可。
子查询例子:
select *from article where id in(select article_id from tb_item where order_id=#{id})
其中article和order是多对多关系,tb_item表示关系表,首先通过订单id查询到所有的商品id,之后通过商品id查询到
商品信息。
至于xml中的resultMap的配置都是使用collection语句进行查询即可。
上一篇:Mybatis单例模式
下一篇:mybatis 的帮助类
网友评论