JavaEE基础知识学习----MyBatis(三)映射文件

MyBatis映射文件

MyBatis 的真正强大在于它的映射语句,也是它的魔力所在 。SQL 映射文件有很少的几个顶级元素 ,如下

  • cache – 给定命名空间的缓存配置。
  • cache-ref – 其他命名空间缓存配置的引用。
  • resultMap – 是最复杂也是最强大的元素,用来描述如何从数据库结果集中来加载对象。
  • sql – 可被其他语句引用的可重用语句块。
  • insert – 映射插入语句
  • update – 映射更新语句
  • delete – 映射删除语句
  • select – 映射查询语句

Select查询

查询语句是 MyBatis 中最常用的元素之一 ,简单查询的 select 元素是非常简单的。比如


该查询接受一个 int(或 Integer)类型的参数,返回一个 HashMap 类型的对象,键是列名,值是结果行中的对应值。

select 元素有很多属性允许你配置,来决定每条语句的作用细节 ,如下


    select * from person where id = #{id}

  • 返回多条记录封装的一个map,Map:key是这条记录的主键,值是记录封装后的pojo,如下
@MapKey("id")
public Map getPersonByName(String name);

@MapKey("id")注解表示使用那个属性作为返回结果map的key。

resultMap自定义结果集

示例


    
    


resultMap关联属性_级联属性封装结果集

例如:员工有部门属性,联合查询返回封装结果


    
    
     
     

使用association指定联合的java对象


    
    
    
         
         
    

使用collection定义关联集合的封装规则

例如,查询部门的时候,查询出当前部门下的所有员工


    
    
    
         
         
    

sql标签

这个元素可以被用来定义可重用的 SQL 代码段,可以包含在其他语句中。它可以被静态地(在加载参数) 参数化. 不同的属性值通过包含的实例变化. 比如:

 ${alias}.id,${alias}.username,${alias}.password 

这个 SQL 片段可以被包含在其他语句中,例如:


你可能感兴趣的:(JavaEE基础知识学习----MyBatis(三)映射文件)