一、三层架构
- 持久层:主要完成与数据库的相关操作,即增删改查(dao层);
- 业务层:根据功能需求完成业务逻辑的实现(service层);
- 表现层:与用户交互(web/view层);
- 三层调用关系为:表现层调用业务层,业务层调用持久层;
- 各层间数据交互,传递java实体队象(domain);
二、MyBatis框架
2.1 原始的jdbc的缺点:
- 数据库连接创建、释放频繁造成系统资源浪费从而影响系统性能;
- sql 语句在代码中硬编码,造成代码不易维护,实际应用 sql 变化的可能较大,sql 变动需要改变java代码;
- 查询操作时,需要手动将结果集中的数据手动封装到实体中;
2.2 上述问题的解决方案:
- 使用数据库连接池初始化连接资源;
- 将sql语句抽取到xml配置文件中;
- 使用反射、内省等底层技术,自动将实体与表进行属性与字段的自动映射;
2.3 MyBatis介绍:
- MyBatis是一个优秀的基于ORM的半自动轻量级持久层框架,它对jdbc的操作数据库的过程进行封装,使开发者只需要关注 SQL 本身,而不需要花费精力去处理例如注册驱动、创建connection、创建statement、手动设置参数、结果集检索等jdbc繁杂的过程代码。
- ORM:(Object Relational Mapping)对象关系映射;
- O(对象模型):实体对象,即我们在程序中根据数据库表结构建立的一个个实体javaBean;
R(关系型数据库的数据结构):关系数据库领域的Relational(建立的数据库表);
M(映射):从R(数据库)到O(对象模型)的映射,可通过XML文件映射;