常见持久层框架
1.概念介绍
<1>ORM
ORM(Object Relational Mapping): 对象关系映射(持久化数据和实体对象的映射模式),是一种为了解决面向对象与关系型数据库存在的互不匹配的现象的技术
映射说明如下所示:
- 数据表(table)--> 类(class)
- 表字段(field)--> 对象属性(attribute)
- 表数据(record,行数据)-->对象(Object)
<2>原始DB操作
原始DB操作步骤
最原始的DB操作无非遵循下面几个步骤:
1)根据数据库参数创建数据库连接
2)创建数据库操作对象
3)处理DB操作结果
4)DB操作完成释放资源
原始DB操作存在问题
1)频繁创建和销毁数据库的连接会造成系统资源浪费、影响系统性能
2)硬编码情况:SQL语句在JAVA代码中硬编码,代码不易维护
3)针对一些DB操作,需要手动映射或者封装操作参数、结果集等内容,不利于代码维护
原始DB操作存在问题相应的解决方案
1)可以通过数据库连接池统一管理数据库连接,避免资源浪费
2)针对硬编码的情况,可将SQL语句抽取到配置文件中,在java代码中借助占位符完成对SQL语句的填充
3)可借助反射、内省等底层技术将实体和表进行映射
4)针对原始DB操作,一些优秀的持久层框架相应提供了解决方案,借助这些框架可以很好地完成对dao层的控制,提升效率
2.常见的持久层框架
<1>MyBatis框架
学习内容
1)对原生态的jdbc程序单独使用有哪些问题、MyBatis的应用场景
2)掌握MyBatis框架的原理
3)结合案例学习,MyBatis的入门程序:实现用户的增删改查
4)MyBatis开发DAO的两种方式:
原始dao开发(编写dao接口和实现类)
MyBatis的mapper接口(相当于dao接口) 代理开发的方法
5)MyBatis的配置详解 SqlMapConfig.xml
6)MyBatis的核心:输入映射、输出映射、动态SQL
7)以订单商品的数据模型为案例进行分析,进一步掌握mybatis的应用
高级结果集映射(一对一、一对多、多对多)
MyBatis的延迟加载
MyBatis的查询缓存(一级缓存、二级缓存)
Mybatis的逆向功能
8)Mybatis和Spring整合(SSM项目或者Springboot+Mybatis的组合)