Mybatis select记录封装的实现

select记录封装

返回一个List集合, resultType要写集合中元素的类型




返回一条记录的map, key为列名, 值就是对应的值



多条记录封装成一个map, key为id, 值是记录封装后的javaBean

//@MapKey:告诉mybatis封装这个map的时候使用哪个属性作为map的key
@MapKey("lastName")
public Map getEmpByLastNameLikeReturnMap(String lastName);


自动映射配置

全局setting设置

1.autoMappingBehavior默认为PARTIAL, 开启自动映射功能;唯一的要求是列名和javaBean属性名一致

2.mapUnderscoreToCamelCase=true, 开启自动驼峰命名规范映射功能

自定义resultMap, 实现高级映射功能

resultMap自定义映射规则

  
  
    
    
    
    
    
    
    
  

创建表

create table tb_dept (

id int(11) primary key auto_increment,

dept_name varchar(255)

)

添加列

alter table tb_emp add column d_id int(11);

添加约束

alter table tb_emp add constraint fk_emp_dept foreign key(d_id) references tb_dept(id);

联合查询:级联属性封装结果集

场景一:

查询Employee的同时查询员工对应的部门;一个员工有与之对应的部门信息;


   
   
  
  
    
    
    
    
    
  

使用association定义关联的单个对象的封装规则;


  
    
    
    
    
    
    
      
      
    
  

association分步查询


   
   
   
     
     
     
     
     
     
     
   



  
  

association分步查询&延迟加载

 
  
  
  
  
    
    
    

关联集合

嵌套结果集的方式,使用collection标签定义关联的集合类型的属性封装规则

场景二:

查询部门的时候将部门对应的所有员工信息也查询出来:注释在DepartmentMapper.xml中


   
  
  
    
    
    
    
      
      
      
      
      
    
  
  
  

collection:分段查询


  
    
    
    
  

  
  
  
   
     
     
     
     
     
     
       
       
         
         
       
       
       
         
         
         
         
       
     
   

到此这篇关于Mybatis select记录封装的实现的文章就介绍到这了,更多相关Mybatis select封装内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

你可能感兴趣的