目录

​一、MyBatis​

​基本概念介绍​

​二、MyBatis 快速入门​

​ 1、快速入门案例​

 ​​2、idea中配置数据库 ​

​三、Mapper 代理开发​

​ 1、开发目的​

 ​​2、Mapper 代理方式​


一、MyBatis

基本概念介绍

▶ 什么是MyBatis

        MyBatis 本是Apache 的一个开源项目iBatis, 2010年这个项目由apache software foundation 迁移到了google code,并且改名为MyBatis。 2013年11月迁移到Github。        

持久层框架,它支持自定义 SQL、存储过程以及高级映射。MyBatis 免除了几乎所有的 JDBC 代码以及设置参数和获取结果集的工作。MyBatis 可以通过简单的 XML 或注解来配置和映射原始类型、接口和 Java POJO(Plain Old Java Objects,普通老式 Java 对象)为数据库中的记录。

         官网连接: ​​https://mybatis.net.cn/​​    


▶ 框架

  • 框架就是一个半成品软件,是一套可重用的、通用的、软件基础代码模型
  • 在框架的基础之上构建软件编写更加高效、规范、通用、可扩展

▶ 持久层

  • 负责将数据保存到数据库的那一层代码
  • JavaEE三层架构: 表现层、业务层、持久层

▶ JDBC 的缺点

    1、硬编码

        ▷ 重复注册驱动,获取连接

        ▷ 重复的SQL语句

    2、操作繁琐

        ▷ 手动设置参数

        ▷ 手动封装结果集

▶ MyBatis 简化操作

        1、连接、SQL语句等全部写到配置文件中

MyBatis 快速入门及Mapper代理开发。_配置文件

MyBatis 快速入门及Mapper代理开发。_sql_02

        2、免除了获取结果集的操作,一句话搞定

MyBatis 快速入门及Mapper代理开发。_java_03



二、MyBatis 快速入门

 1、快速入门案例

▶ 查询数据库表中的数据

  1、创建user表,添加数据

  2、创建模块,导入坐标

  3、编写MyBatis 核心配置文件:替换连接信息,解决硬编码问题。

  4、编写SQL映射文件:统一管理sql语句,解决硬编码问题。

  5、编码:

        ① 定义POJO类

        ② 加载核心配置文件,获取 SqlSessionFactory 对象

        ③ 获取 SqlSession 对象 , 执行SQL语句

        ④ 释放资源


▶ 创建user表,添加数据

        创建数据库,创建表,并向其中添加数据

MyBatis 快速入门及Mapper代理开发。_配置文件_04

▶ 创建模块,导入坐标

 1、创建模块

MyBatis 快速入门及Mapper代理开发。_java_05

MyBatis 快速入门及Mapper代理开发。_映射文件_06

MyBatis 快速入门及Mapper代理开发。_mybatis_07

MyBatis 快速入门及Mapper代理开发。_sql_08

 2、导入坐标

         去MyBatis官网找。

MyBatis 快速入门及Mapper代理开发。_mybatis_09

         代码置于 pom.xml 文件中 :

MyBatis 快速入门及Mapper代理开发。_映射文件_10

         

注意:当我们需要其他jar包的时候,就需要导入坐标即可,列如:

MyBatis 快速入门及Mapper代理开发。_映射文件_11

MyBatis 快速入门及Mapper代理开发。_映射文件_12


还需要在resources下面添加一个配置文件

MyBatis 快速入门及Mapper代理开发。_配置文件_13

▶ 编写MyBatis 核心配置文件

        依旧是看官网上的信息,有:

MyBatis 快速入门及Mapper代理开发。_java_14

MyBatis 快速入门及Mapper代理开发。_java_15

  

MyBatis 快速入门及Mapper代理开发。_sql_16

▶ 编写SQL映射文件

        依旧是去MyBatis官网找:

MyBatis 快速入门及Mapper代理开发。_java_17

MyBatis 快速入门及Mapper代理开发。_sql_18

MyBatis 快速入门及Mapper代理开发。_java_19

▶ 编码

① 定义POJO类:这里就是将User类写好

MyBatis 快速入门及Mapper代理开发。_配置文件_20


② 加载核心配置文件,获取 SqlSessionFactory 对象

     首先官网上找到对应的代码(因为官网有,不需要自己写)

MyBatis 快速入门及Mapper代理开发。_mybatis_21

 

MyBatis 快速入门及Mapper代理开发。_映射文件_22


③ 获取 SqlSession 对象 , 执行SQL语句

④ 释放资源

MyBatis 快速入门及Mapper代理开发。_java_23


2、idea中配置数据库 

MyBatis 快速入门及Mapper代理开发。_配置文件_24

MyBatis 快速入门及Mapper代理开发。_映射文件_25

MyBatis 快速入门及Mapper代理开发。_配置文件_26

MyBatis 快速入门及Mapper代理开发。_配置文件_27


三、Mapper 代理开发

 1、开发目的

▶ 解决原生方式中的硬编码,简化后期执行SQL

原生

MyBatis 快速入门及Mapper代理开发。_sql_28

代理

MyBatis 快速入门及Mapper代理开发。_mybatis_29

2、Mapper 代理方式

▶ 步骤

  1. 定义与SQL映射文件同名的Mapper接口,并且将Mapper接口和SQL映射文件放置在同一目录下
  2. 设置SQL映射文件的namespace属性为Mapper接口全限定名
  3. 在Mapper接口中定义方法,方法名就是SQL映射文件中sql语句的id,并保持参数类型和返回值类型一致
  4. 编码:通过 SqliSession的 getMapper方法获取 Mapper接口的代理对象,②调用对应方法完成sq/的执行。

▶ 第一步

MyBatis 快速入门及Mapper代理开发。_sql_30

MyBatis 快速入门及Mapper代理开发。_配置文件_31

MyBatis 快速入门及Mapper代理开发。_映射文件_32

MyBatis 快速入门及Mapper代理开发。_sql_33

MyBatis 快速入门及Mapper代理开发。_映射文件_34


▶ 第二步

MyBatis 快速入门及Mapper代理开发。_配置文件_35


▶ 第三步

MyBatis 快速入门及Mapper代理开发。_mybatis_36

 注意1:

MyBatis 快速入门及Mapper代理开发。_mybatis_37

注意2:

         细节:如果Mapper接口名称和SQL映射文件名称相同,并在同一目录下,则可以使用包扫描的方式简化SQL映射文件的加载

MyBatis 快速入门及Mapper代理开发。_sql_38


▶ 第四步编码

MyBatis 快速入门及Mapper代理开发。_java_39