问小白 wenxiaobai
资讯
历史
科技
环境与自然
成长
游戏
财经
文学与艺术
美食
健康
家居
文化
情感
汽车
三农
军事
旅行
运动
教育
生活
星座命理

Spring Boot整合MyBatis入门教程

创作时间:
作者:
@小白创作中心

Spring Boot整合MyBatis入门教程

引用
CSDN
1.
https://blog.csdn.net/m0_73556978/article/details/136355952

本文将详细介绍如何在Spring Boot项目中整合MyBatis,包括创建项目、配置依赖、编写配置文件和测试等关键步骤。对于Java后端开发人员来说,掌握Spring Boot与MyBatis的整合是开发企业级应用的重要基础。

一、创建Spring Boot项目

在IDEA中选择Spring Initializr,配置项目的基本信息,包括项目名、存放位置、编程语言、项目管理框架、组织名、包名、JDK版本和打包方式。这里我们选择Maven构建项目,JDK版本为17,打包方式为Jar。

接下来选择项目依赖,由于这是一个Spring Boot整合MyBatis的Web项目,需要勾选Spring Web、MySQL数据库驱动和MyBatis框架。配置完成后点击Finish完成创建。

二、修改POM文件

在POM文件中主要添加MyBatis-Spring框架依赖,并确保各个依赖的版本兼容。以下是修改后的POM文件内容:

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>
    <parent>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-parent</artifactId>
        <version>3.2.3</version>
        <relativePath/> <!-- lookup parent from repository -->
    </parent>
    <groupId>com.example</groupId>
    <artifactId>springboot_demo</artifactId>
    <version>0.0.1-SNAPSHOT</version>
    <name>springboot_demo</name>
    <description>springboot_demo</description>
    <properties>
        <java.version>17</java.version>
    </properties>
    <dependencies>
        <dependency>
            <groupId>org.mybatis</groupId>
            <artifactId>mybatis-spring</artifactId>
            <version>3.0.3</version>
        </dependency>
        <!--springbootweb依赖-->
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
        </dependency>
        <!--mybatis的springboot依赖-->
        <dependency>
            <groupId>org.mybatis.spring.boot</groupId>
            <artifactId>mybatis-spring-boot-starter</artifactId>
            <version>3.0.2</version>
        </dependency>
        <!--mysql依赖-->
        <dependency>
            <groupId>com.mysql</groupId>
            <artifactId>mysql-connector-j</artifactId>
            <scope>runtime</scope>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-test</artifactId>
            <scope>test</scope>
        </dependency>
        <dependency>
            <groupId>org.mybatis.spring.boot</groupId>
            <artifactId>mybatis-spring-boot-starter-test</artifactId>
            <version>3.0.2</version>
            <scope>test</scope>
        </dependency>
    </dependencies>
    <build>
        <plugins>
            <plugin>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-maven-plugin</artifactId>
            </plugin>
        </plugins>
    </build>
</project>

其中重点讲解下mybatis-spring和mybatis-spring-boot-starter这两个依赖。

  1. mybatis-spring
    mybatis-spring是Spring整合MyBatis的基础框架,是MyBatis项目针对Spring提供的接口专门开发的,只要是使用Spring Framework框架不管还使用了别的什么技术(Spring Boot也好SpringMVC也罢)都是需要选择这这个框架的,这是Spring Boot整合MyBatis的基础。即使不用Spring Boot,我们用SSM技术开发时也是要选这个的。

  2. mybatis-spring-boot-starter
    这是MyBatis基于mybatis-spring开发的针对Spring Boot整合MyBatis的,他是依赖于mybatis-spring运行的。他的智能之处就在于当你在Mapper接口上使用了@Mapper注解之后它可以自动扫描到Mapper接口完成mapper注册,省去了之前繁琐的在配置文件中注册mapper的操作。

三、编写application.yml(application.properties)

server:
  port: 8080
spring:
  datasource:
    url: jdbc:mysql://localhost:3306/springboot
    driver-class-name: com.mysql.cj.jdbc.Driver
    username: root
    password: Wsz031227#
mybatis:
  mapper-locations: classpath:mapper/*.xml
  configuration:
    map-underscore-to-camel-case: true  

四、编写三层架构

Mapper.xml 文件统一放在resources目录下方便管理,Mapper接口写在java包下

一定要注意:必须在启动类上加@MapperScan注解和在mapper接口上加@Mapper注解这两个中间选一个,否则spring将无法扫描到mapper接口,个人建议两个都加上避免遗漏。

@SpringBootApplication
//在启动类上加,参数为mapper接口在的文件夹
@MapperScan("com.example.springboot_demo.dao")
public class SpringbootDemoApplication {
    public static void main(String[] args) {
        SpringApplication.run(SpringbootDemoApplication.class, args);
    }
}
//在mapper接口上加,直接一个@Mapper注解就完事
@Mapper
public interface StudentDao {
    int insert(Student student);
}

五、测试

完成上述步骤后就可以连接数据库尽心测试了,这里就略过了。

© 2023 北京元石科技有限公司 ◎ 京公网安备 11010802042949号