三层架构

  • 界面层:controller包(servlet)主要功能是接受用户的数据,显示请求的处理结果。使用 web 页面和
    用户交互,手机 app 也就是表示层的,用户在 app 中操作,业务逻辑在服务器端处理。 springMVC(框架)
  • 业务逻辑层:service包(XXXService类)接收表示传递过来的数据,检查数据,计算业务逻辑,调用数据访问层获取数据。 spring(框架)
  • 数据访问层:dao包(XXXDao类)与数据库打交道。主要实现对数据的增、删、改、查。将存储在数据库中的数据提交
    给业务层,同时将业务层处理的数据保存到数据库. MyBatis框架

    jdbc的问题

  1. 代码比较多,开发效率低:每次都要创建连接,关闭连接。
  2. 需要关注 Connection ,Statement, ResultSet 对象创建和销毁
  3. 对 ResultSet 查询的结果,需要自己封装为 List
  4. 重复的代码比较多些
  5. 业务代码和数据库的操作混在一起

MyBatis

MyBatis SQL Mapper Framework for java

  1. sql mapper:sql映射

把数据库表中的一行数据 映射为 一个java 对象
操作这个对象,就是操作表中的数据

  1. Data Access Objects(DAOs)

数据访问,对数据库进行增删改查

MyBatis提供的功能

  1. 提供了创建Connection、Statement、Resultset的能力,不用开发人员创建
  2. 提供执行sql语句的能力,不用手动执行
  3. 提供循环sql,把sql的结果转为java对象、List集合的能力
  4. 提供了关闭资源的能力,不用手动写关闭Connection、Statement、Resultset

开发人员需要处理

提供sql语句

中文文档

https://mybatis.org/mybatis-3/zh/getting-started.html