条条|MyBatis学习笔记1——初识MyBatis

1.1 常用结构

1.1.1 三层架构

学习MyBatis前我们先了解以下web开发的三层架构

  • 界面层:和用户打交道,接收用户请求参数,显示处理结果;对应controller包(servlet),对应springmvc框架
  • 业务逻辑层:接收页面层传递的数据,处理逻辑,调用数据库并获取数据;对应service包(XXXService类),对应spring框架
  • 数据访问层(也叫持久层):负责访问数据库,对数据进行增删改查等等操作;对应dao包(XXXDao类),对应mybatis框架

1.1.2 框架

可以把框架理解成一个半成品的单车(软件),我们作为驾驶者(开发者),可以使用这个单车自带的功能,如乘坐、骑行、转向等等;当然我们也可以对单车进行加工,加入新的功能,如后视镜,车喇叭等等;要注意的是,这个单词不是全能的,它只在一个大的方面(领域)有效,我们可以骑行,可以走小道等等,但是我们不能让他开到海上,飞到天上,开到高速公路。

1.2 为什么是MyBatis?

过去我们访问数据库使用JDBC(可以回头看看JDBC的代码内容),我们可以发现使用JDBC来访问数据库有以下缺陷:

  • 代码量大,重复量大,开发效率低
  • 要关注Connection,Statement和ResultSet对象的创建和销毁
  • 对于ResultSet查询的结果需要自己封装成List
  • 业务代码和数据库的操作混在一起

困于此,MyBatis便孕育而生了

1.2.1 什么是MyBatis?

MyBatis乳名ibatis,是一个sql映射框架(SQL Mapper Framework for Java),提供操作数据库的能力,是一个打了鸡血的JDBC
条条|MyBatis学习笔记1——初识MyBatis_第1张图片

关于MyBatis
  • sql mapper:sql映射:
    可以把数据库表中一行数据映射为一个java对象(一行数据=一个java对象),操作这个对象=操作表中数据
  • Data AccessObjects(DAOs):
    数据访问,即对数据库进行增删改查
MyBatis提供了什么功能
  1. 提供创建Connection,Satatement和ResultSet的能力,我们就不用去创建了
  2. 提供执行sql语句的能力,也无需我们去执行
  3. 提供循环sql的能力,会将sql的结果转换为java对象(List集合的能力,如下)
    while(rs.next()){
    student stu=new student();
    stu.setId(rs.getInt("id"));
    stu.setName(rs.getstring("name"));
    stu.setAge(rs.getInt("age"));
    //从数据库取出数据转为student对象,封装到List集合
    stuList.add(stu);
    
  4. 提供关闭资源(C,S,R)的能力
那我们要做什么? ——提供sql语句

整体的流程便是:
我们提供sql语句–>mybatis处理sql–>得到List集合或java对象(表中数据)

条条:该学习笔记是记录了我的学习过程,学习自动力节点和c语言中文网,有不对的地方欢迎指出

你可能感兴趣的:(自学)