Mybatis 注解原理及使用

注解

注解和XML区别

xml:
xml使用标签,蓝色框:namespace找到映射的接口的位置,findAll找到对应的方法。
红色框:查询所用语句,resultMap返回值格式,sql语句超找对应数据。
Mybatis 注解原理及使用
注解:
红色蓝色框对应xml中相同部分,蓝色框找到对应的类和方法,红色框查找并返回包装好的数据。
Mybatis 注解原理及使用

注解多表查询

Mybatis 注解原理及使用

@Results注解

当数据库中的列名和用户的变量名不同时,使用@Results注解对参数进行转换。红色部分,其中:

  • @Results注解中 id表示注解名,用于第二次调用@ResultsMap注解时,直接输入id,就不用重复定义了
  • value时对名称之间对应关系的定义,它又包含了@Result注解

@Result注解

对每一个变量的对应关系进行解释,图中蓝色部分:

  • id代表是否为主键,是则写true,否则默认为false不用谢
  • column对应数据库属性名
  • property对应对象变量名
  • @one@many注解:包含在@Result注解中,用来表示多表查询之间的关系,@one表示对应一个,@many表示对应多个。

@[email protected]注解

表示多表之间对应关系,绿色部分:

  • @Result注解,property表示Account对象中的Employee对象名,column表示对应主键。
  • select变量,对应,使用eid主键,对employee对象进行查找时使用的方法,并且是全限定类名加方法dao.EmployeeMapper.selectById
  • fetchType:表示立即加载EAGER还是延迟加载LAZY

@One:
Mybatis 注解原理及使用
@Many:
Mybatis 注解原理及使用

开启二级缓存

只需一步开启二级缓存,在接口前加注释@CacheNamespace,其中blocking默认值为false,改为true即开启。
Mybatis 注解原理及使用