第一章 框架概述

三层架构

image.png
为什么要使用三层架构?

  1. 结构清晰,耦合度低,各层分工明确。
  2. 可维护性高,可扩展性高。
  3. 有利于标准化。
  4. 开发人员可以只关注整个结构中的其中某一层的功能实现。
  5. 有利于各层逻辑的复用。

    MyBatis框架概述

    mybatis框架 ,早期叫做ibatis, 代码在github。
    mybatis是 MyBatis SQL Mapper Framework for Java (sql映射框架)
    1)sql mapper :sql映射
    可以把数据库表中的一行数据 映射为 一个java对象。
    一行数据可以看做是一个java对象。操作这个对象,就相当于操作表中的数据
    2) Data Access Objects(DAOs) : 数据访问 , 对数据库执行增删改查。

    MyBatis解决的主要问题

    mybatis提供了哪些功能:
    1. 提供了创建Connection ,Statement, ResultSet的能力 ,不用开发人员创建这些对象了。
    2. 提供了执行sql语句的能力, 不用你执行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.提供了关闭资源的能力,不用你关闭Connection, Statement, ResultSet。

    开发人员做的是: 提供sql语句
    最后是: 开发人员提供sql语句—mybatis处理sql—-开发人员得到List集合或java对象(表中的数据)

总结:
mybatis是一个sql映射框架,提供的数据库的操作能力。增强的JDBC,
使用mybatis让开发人员集中精神写sql就可以了,
不必关心Connection,Statement,ResultSet的创建,销毁,sql的执行。

第二章 MyBatis框架快速入门

使用步骤

  1. 创建数据库
  2. 创建maven项目

image.png

  1. 修改pom.xml文件并添加依赖和驱动
    1. mybatis依赖
    2. mysql依赖
    3. build中——手动指定资源文件夹

image.png

  1. 编写数据库对应的实体类
  2. 编写持久层的Dao接口,定义操作数据库的方法

image.png

  1. 编写Dao接口的Mapper映射文件-xml文件

(1)叫做sql映射文件,写sql语句的,一般一个表一个sql映射文件
(2)要求:在 dao 包中创建文件 StudentDao.xml 。
要 StudentDao.xml 文件名称和接口 StudentDao 一样,区分大小写的一样。
(3) 定义mybatis-mapper.xml 的模板:
image.png
(4)sql映射文件详解:
image.png
中把resultType替换为resultMap。

作用:

当数据库的列名和实体类的属性名不一致时,可以使用resultMap!

实体类属性名和数据库列名不同时的处理方式

  • 若要使用resultType- 在Mapper的sql语句中起别名(与实体类字段名一致)

  • 使用resultMap

    模糊查询-like

  • java代码中加上% (推荐)

  • image.png

    1. mapper文件中使用%

    image.png
    image.png

    第四章 MyBatis框架动态sql

    在mapper的动态SQL中若出现>,<,>=,<=等符号,最好将其转换为实体符号。否则,XML可能会出现解析出错问题。特别是对于小于号(<),在XML中是绝不能出现的,否则解析mapper文件出错。
    image.png

    标签

    语法:
    sql语句的部分

    image.png
    数据量很大时,影响查询效率。

    标签

    语法: 其他动态sql
    作用: 用来包含多个,当多个if有一个成立时,会自动增加一个where关键字,
    并去掉中多余的and,or等。当都不成立时,不会添加where句子。
    image.png

    语法:
    image.png
    作用: 主要用于sql的in语句中 (例如查询ID是1,2,3的学生)
    image.png

    代码片段-sql的复用

    语法: 用于定义sql片段 用于引用sql片段
    image.png
    image.png

    第五章 MyBatis配置文件

    使用properties配置文件

    步骤:

    1. 在resources目录下创建jdbc.properties文件。

    image.png

    1. 修改主配置文件,在开始位置加入:

    image.png

    1. 使用key指定值

    image.png

    typeAliases(类型别名)

    定义自定义类型的别名:
    1)在mybatis主配置文件中的定义,
    使定义别名
    第一种方式:
    image.png
    第二种方式:(常用)
    image.png

    2)可以在resultType中使用自定义别名
    第一种方式:
    image.png
    第二种方式
    image.png

    mappers(映射器)

    image.png

    第六章 分页插件

    详情步骤请见 pdf课件!

    大总结

    1. MyBatis常用标签

    小知识点

    MyBatis主配置文件顺序

    文章链接
    Mybatis配置项的顺序不能颠倒,如果颠倒了它们的顺序,那么mybatis启动阶段会发生异常,导致程序无法运行.
    image.png
    [

    ](https://blog.csdn.net/qq_15769147/article/details/83274389)