1.三层架构
从框架角度分为
MVC: web开发中,使用MVC架构模式。M:数据,V:视图,C:控制器
C控制器:接收请求,调用Servlet对象,显示请求的处理结果,当前使用Servlet作为控制器
V视图:现在使用jsp,html,css,js,显示请求的处理结果,把M中的数据显示出来
M数据:来自数据库mysql,来自文件、来自网络
MVC作用:
(1)实现解耦合
(2)让MVC各司其职
(3)使得系统扩展性好,更容易维护
从代码实现角度分为
(1)界面层(视图层):接收用户的请求,调用servlet,显示请求的处理结果,包含了jsp,html,servlet等对象,对应的包是controller
(2)业务逻辑层:处理业务逻辑,使用算法处理数据的,把数据返回给界面层,对应的是servlet包和包中的很多XXXService类,例如:StudentService、OrderService、ShopService等
(3)持久层(数据库访问层):访问数据库或者读取文件,访问网络,对应的包是dao,dao包中很多的StudentDao,OrderDao,ShopDao等
2.三层架构请求的处理流程
用户发起请求 —> 界面层 —> 业务逻辑层 —> 持久层 —> 数据库(mysql)
3.为什么要使用三层架构?
(1)结构清晰,耦合度低,各层分工明确
(2)可维护性高,可扩展性高
(3)有利于标准化
(4)开发人员可以只关注整个结构中的其中某一层的功能实现
(5)有利于各层逻辑的复用
4.三层架构模式和框架
每一层对应一个框架
(1)界面层–SpringMVC框架
(2)业务层–Spring框架
(3)持久层–MyBatis框架
5.框架
(1)什么是框架(framework)
框架:就是一个软件,完成了部分功能。软件中的类和类之间的方法调用都已经规定好了,通过这些可以完成某些功能,框架看作是模板
框架是可以升级,改造的,框架是安全的
框架是对某一个方面是有用的,不是全能的
6.框架解决的问题
(1)框架能实现技术的整合
(2)框架能提高开发的效率,降低难度
7.jdbc访问数据库的优缺点
优点:
(1)直观、好理解
缺点:
(1)需要创建很多对象 Connection、Statement、ResultSet
(2)需要注册驱动
(3)执行sql语句
(4)关闭连接资源
(5)sql语句和业务逻辑代码混在一起
8.MyBatis
什么是mybatis:是一个持久层框架,原名是iBatis,2013年改名为MyBatis、MyBatis可以操作数据库,对数据库执行增删改查,看作是高级的jdbc,解决jdbc的缺点。
MyBatis能做什么?
(1)注册驱动
(2)创建jdbc中使用的Connection、Statement、ResultSet
(3)执行sql语句,得到ResultSet
(4)处理ResultSet,把记录集中的数据转换为java对象,同时还能把java对象放入到List集合中
(5)关闭资源
(6)实现sql语句和java代码的解耦合