SpringBoot第二十天 - Dao 整合Mybatis

本文详细介绍了如何在SpringBoot项目中整合Mybatis,包括Mybatis简介、导入Mybatis模块starter、分析自动配置原理、XML配置和注解配置的使用方法,并提供了测试示例。通过本文,读者将掌握SpringBoot集成Mybatis的完整流程。
摘要由CSDN通过智能技术生成

SpringBoot - Dao 整合Mybatis

本节学习SpringBoot整合Mybatis框架以及Mybatis模块starter的配置。

1. Mybatis简介

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

什么是Mybatis - Mybatis官网

2. 导入Mybatis模块starter

Mybatis官方提供了第三方模块启动器,可以通过SpringBoot的自动配置直接使用。

2.1 导入模块starter

pom.xml

<dependency>
    <groupId>org.mybatis.spring.boot</groupId>
    <artifactId>mybatis-spring-boot-starter</artifactId>
    <version>2.1.4</version>
</dependency>

2.1.X适用于SpringBoot2.1-2.4版本,2.2.X适用于SpringBoot2.5+版本。

2.2 分析导入的依赖

分析导入Mybatis模块starter后引入的依赖:

org.mybatis.spring.boot:mybatis-spring-boot-starter:2.1.4
│   
├── org.springframework.boot:spring-boot-starter:2.4.5 (父启动器)
│   
├── org.springframework.boot:spring-boot-starter-jdbc:2.4.5 (JDBC模块启动器)
│   │   
│   ├── org.springframework.boot:spring-boot-starter:2.4.5 (父启动器)
│   │   
│   ├── com.zaxxer:HikariCP:3.4.5 (Hikari数据源(连接池))
│   │   
│   └── org.springframework:spring-jdbc:5.3.6 (SpringJDBC模块)
│   
├── org.mybatis.spring.boot:mybatis-spring-boot-autoconfigure:2.1.4 (Mybatis自动配置包)
│   
├── org.mybatis:mybatis:3.5.6 (Mybatis)
│   
└── org.mybatis:mybatis-spring:2.0.6 (Mybatis与Spring整合包)

导入Mybatis模块starter后,为我们引入了SpringJDBC模块及其启动器,Mybatis自动配置包,Mybatis和Mybatis与Spring整合包。
同样未提供数据库驱动依赖,需要我们自己手动导入。

3. 分析自动配置原理

学习新的starter,就不得不牵扯到其自动配置原理。

来到Mybatis自动配置包org.mybatis.spring.boot.autoconfigure下,简单分析重要的自动配置类:

名称 功能
MybatisAutoConfiguration Mybatis自动配置类
MybatisProperties Mybatis配置参数类

传统Mybatis配置需要我们自己手动配置SqlSessionFactorySqlSessionMapper,现在Mybatis的自动配置类已经帮我们配置好了这些组件:

// org.mybatis.spring.boot.autoconfigure.MybatisAutoConfiguration

// 配置类
@org.springframework.context.annotation.Configuration
@ConditionalOnClass({
    SqlSessionFactory.class, SqlSessionFactoryBean.class }
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值