1、三层架构
- 界面层:和用户打交道的,接受用户的请求参数,显示处理结果的
- 业务逻辑层:接受了界面层传递的数据,计算逻辑,调用数据库,获取数据
- 数据访问层:就是访问数据库,执行对数据的查询,修改,删除等。
2、三层对应的包
- 界面层:controller包(servlet)
- 业务逻辑层:service包(xxxserveice类)
- 数据访问层:dao(xxxdao包)
2、三层类的交互
用户使用界面层–业务逻辑层–数据访问层(持久层)–数据库(mysql)
3、三层对应的处理框架
- 界面层–servlet–springmvc
- 业务逻辑层—serice类–spring
- 数据访问层–dao类–mybatis
4、为什么使用mybatis
4.1、使用jdbc的缺陷
- 代码比较多,开发效率低
- 需要关注Connection,Statement,ResultSet对象的床架内核销毁
- 对ResultSet查询的结果,需要自己封装为List
- 重负的代码比较多
- 业务代码和数据库的操作混在一起
4.2、Mybatis框架
- mybatis是MyBatis SQL Mapper Framwork for java(sql映射框架)
- sql mapper:sql映射
- 可以吧数据库表中的一行数据,映射为一个java对象,一行数据可以看做是一个java对象。操作这个对象,就相当一操作表中的shuju。
- Data Access Objects(DAOs):数据库访问,对数据库执行增删改查
- mybatis提供了创建Connection,Statement,ResultSet的能力,不用开发人员创建这些对象
- 提供了执行sql语句的能力,不用你执行sql
- 提供了循环sql,吧sql的结果转为java对象,List集合的能力
- 提供了关闭资源的能力,不用你关闭Connection,Statement,ResultSet
- 开发人员做的是:提供sql语句
mybatis就是一个sql映射框架,提供的数据库的操作能力,增强的jdbc,使用mybatis让开发人员集中精神些sql就可以了,不必关心Connection,Statement,ResultSet的创建和关闭,sql的执行。