mybatis 高级结果映射关联的嵌套查询、一对多查询

这是mybatis的官方例子,基本上看一遍就会了,一定要先去看官方例子,这里介绍的不详细

http://www.mybatis.org/mybatis-3/zh/sqlmap-xml.html#select

我自己用的联表查询

实体类

public class MemberSaleRecordsResult {
	
    private String code;
    
    private String name;
    
    private Integer id;
    // 销售商品集合
	private List detailList;
}

resulrMap定义

collection 的property属性是resultMap对应实体类MemberSaleRecordsResult中的detailList属性名。

collection 的ofType属性是集合对应的实体类,column是表的主键id,官方说加上可以提高效率。


    
    
    
    
    
    

		
		
		
	
  

sql语句

        可能会有疑惑为什么不能写在最后呢,应为查询出来的数据是一对多的,举个例子,看我下面limit 0,10查出来的数据,因为会员是主表所以会员信息重复了,查出来的数据经过mybatis处理,实体类MemberSaleRecordsResult中的detailList返回的listSize只有3。这就是为什么分页要加在主表里了;还有就是为什么要加分页,要想想成千上万的会员和销售记录联表,数据库会炸掉的。

mybatis 高级结果映射关联的嵌套查询、一对多查询_第1张图片

 

 

你可能感兴趣的:(Java,Mysql,mybatis,集合,list)