mybatis 学习笔记 记录

SqlMapConfig.xml


1、properties标签







2、settings标签 全局参数配置
(1) mybatis 框架在运行时可以调整一些运行参数
例如:开启 二级缓存、开启延迟加载


 


3、typeAliases(别名)*重点
(1) 在mapper.xml 中定义 很多的 statement  ,statement 需要有 parameteType 指定输入参数的类型,
需要resultType  指定输出结果的映射类型










4、typeHandles 类型处理器
(1) mybatis 中通过 typeHandles 完成jdbc 类型 和 Java 类型的转换  
typeHandles 
5、mapper ( mapper配置 )

   
   
   

   
       
   
   
   
   
   
   
   
   
   
   
   
       
   







6、输入映射
通过 parameterType 指定输入参数 的 类型 ,类型 可以是简单类型 、HashMap、pojo的包装类型



7、输出映射
resultType
实体属性值 名称 映射
resultMap
mybatis中使用 resultMap 来完成高级输出结果映射。


1、resultMap 使用方式
如果 查询出来的 列名 和POJO 属性名 不一致,还想 用POJO 来进行映射 ,可以 通过 定义一个 resultMap 对列名和属性名 之间 来做一个 映射关系

步骤
(1)定义 resultMap

(2)使用 resultMap 来作为 statement 的 输出映射类型
7.1用下面的SQL 来完成 User 输出映射 










@Test
public void testFindUserByIdResultMap() throws Exception {
SqlSession Session = SessionFactory.openSession();
UserMapper mapper = Session.getMapper(UserMapper.class);


System.out.println(mapper.findUserByIdResultMap(1));


}

8、动态SQL
8.1 什么是 动态SQL
mybatis 核心对SQL语句进行灵活 操作,通过表达式进行灵活拼接、组装。
8.2 需求 
用户信息 的综合查询列表 和 用户信息查询列表的 总数 这两个 的statement 定义


对查询条件 进行判断 如果输入的参数不为空才进行 查询条件 拼接。







8.3 SQL 片段 将上边 实现的动态SQL 判断代码块 抽取出来,组成一个SQL片段,让其他 的statement中 可以引用 SQL片段 

8.3.1 定义SQL 片段




AND USER.id=#{id} 



AND USER.username like '%${username}%' 






8.3.2 使用SQL 片段





8.4 foreach 标签
向sql传递数组或者List ,mybatis使用foreach 解析





#{user_id}

 




第二天---- mybatis 高级映射 查询缓存 和spring整合
8.5 将 关联的 列映射到一个 List中 (一对多)




实现 一对一 、一对多  、多对多查询 。
延迟加载
查询缓存
一级缓存
二级缓存 (了解 mybatis二级缓存的使用场景)
mybatis spring 整合
逆向工程

你可能感兴趣的:(小目标,学习记录)