学习目的
一.Web应用三层架构
三层分层
界面层(View层,表示层,视图层):主要功能是接受用户的数据,显示请求的处理结果。使用 web 页面和用户进行交互。相关技术有jsp,html,servlet。
业务逻辑层(Controller层,控制层): 接收界面层传过来的数据,计算逻辑,调用数据库(数据访问层),获取数据。
数据访问层(Model层,模型层,持久层):主要是访问数据库, 执行对数据的查询,添加,修改,删除等等的。将存储在数据库中的数据提交给业务层,同时将业务层处理的数据保存到数据库。
三层交互
用户在浏览器或App使用界面层 --> 使用的功能触发业务逻辑层 --> 操作数据来源与交互数据访问层(持久层)--> 数据库(mysql)
三层交互.png
三层实际应用
界面层: controller包 (servlet)
业务逻辑层: service 接口包(xxxService类)、serviceImp实现类包(xxxServiceImp)
数据访问层: dao包(xxxDao类)
三层技术框架
界面层 -- servlet类 -- struts2(框架) -- springmvc(框架)
业务逻辑层 -- service类 -- spring(框架)
数据访问层 -- dao类 -- hibernate(框架) -- mybatis(框架)
二.Mybatis应用框架
JDBC的缺陷
JDBC连接模板.png
- 代码较多,开发效率低
- 需要完成Connection连接对象、Statement执行对象、ResultSet 结果集处理对象的创建和销毁
- 对ResultSet结果集查询的结果,需要手动封装为 List
- 重复的代码较多,违背代码复用原则
- 业务代码和数据库的操作混在一起
Mybatis解决的问题
Mybatis基础及实现原理
mybatis入门学习帮助文档:https://mybatis.org/mybatis-3/zh/index.html