20200105——复习第一天全部的学习内容mybatis

mybatis第二天
高级映射 缓存(查询) 与spring整合

课程复习
mybatis是什么?是一个持久层框架,是一个不完全的orm框架,sql语句需要程序员自己去编写
但是mybatis也有映射(输入参数的映射和输出结果映射)
mybatis入门门坎不高,学习成本低,因为他灵活好用,让程序员精力放在sql语句上。

mybatis执行过程
1)配置SqlMapConfig文件,名称不固定
2)通过配置文件加载mybatis运行环境,创建sqlsessionFactory
实际使用时,按单例方式管理。
3)通过工厂创建sqlseesion,面向用户接口(提供操作数据库的方法),实现对象的线程是不安全的,建议sqlsession应用在方法体内
4)调用sqlsession的方法操作数据库,如果提交事务,需要sqlsession.commit()
5)释放资源

mybatis开发dao
1)原始dao,需要程序员编写dao接口和实现类
2)需要在dao实现类中注入sqlsessionFactory工厂

mybatis mapper代理
只需要程序编写mapper接口(也就是dao接口)
程序员在编写mapper.xml和mapper.java需要遵循开发规范
1)将mapper.xml 中的namespace就是mapper.java的全路径
2)mapper.xml中的statement的id和mapper.java中的方法一致
3)mapper.xml中的statement的parameterType指定输入参数的类型和mapper.java输入参数类型一致
4)mapper.xml中的statement的resutlType指定输出结果的类型和mapper.java方法返回值一致

sqlmapconfig文件
可以配置properties属性,别名,mapper加载参数

输入映射
parameterType:可以输入类型是简单类型,pojo类型,hashmap
对于综合查询,建议使用包装类的pojo,有利于系统、扩展

输出映射
resultType:查询到的列名和指定的pojo的属性一致,才能映射成功
resultMap:可以通过resultMap完成高级映射
如何查询到的列名与属性名不一致,可以通过resultMap设置列明与属性名之间的对应关系

高级映射的列映射到一个pojo属性中 一对一
将关联查询的列映射到一个List<pojo> 一对多
动态sql

if判断
where
foreach
sql片段

今天课程安排

高级映射:一对一 一对多 多对多查询
延迟加载
缓存,一级缓存 二级缓存
mybatis与spring的整合
逆向工程

发布了657 篇原创文章 · 获赞 39 · 访问量 6万+

猜你喜欢

转载自blog.csdn.net/qq_36344771/article/details/103840091
今日推荐