三层架构
- 界面层:controller包(servlet)主要功能是接受用户的数据,显示请求的处理结果。使用 web 页面和
用户交互,手机 app 也就是表示层的,用户在 app 中操作,业务逻辑在服务器端处理。 springMVC(框架) - 业务逻辑层:service包(XXXService类)接收表示传递过来的数据,检查数据,计算业务逻辑,调用数据访问层获取数据。 spring(框架)
- 数据访问层:dao包(XXXDao类)与数据库打交道。主要实现对数据的增、删、改、查。将存储在数据库中的数据提交
给业务层,同时将业务层处理的数据保存到数据库. MyBatis框架jdbc的问题
- 代码比较多,开发效率低:每次都要创建连接,关闭连接。
- 需要关注 Connection ,Statement, ResultSet 对象创建和销毁
- 对 ResultSet 查询的结果,需要自己封装为 List
- 重复的代码比较多些
- 业务代码和数据库的操作混在一起
MyBatis
MyBatis SQL Mapper Framework for java
- sql mapper:sql映射
把数据库表中的一行数据 映射为 一个java 对象
操作这个对象,就是操作表中的数据
- Data Access Objects(DAOs)
数据访问,对数据库进行增删改查
MyBatis提供的功能
- 提供了创建Connection、Statement、Resultset的能力,不用开发人员创建
- 提供执行sql语句的能力,不用手动执行
- 提供循环sql,把sql的结果转为java对象、List集合的能力
- 提供了关闭资源的能力,不用手动写关闭Connection、Statement、Resultset
开发人员需要处理
提供sql语句
