SpringBoot集成MyBatis的步骤是什么?

Spring Boot与MyBatis的集成非常简单,主要步骤如下:

步骤1: 添加依赖

首先,在你的pom.xml文件中(如果你使用的是Maven)添加Spring Boot Starter for MyBatis的依赖和数据库驱动的依赖。以MySQL数据库为例:

<dependencies>
    <!-- Spring Boot MyBatis Starter -->
    <dependency>
        <groupId>org.mybatis.spring.boot</groupId>
        <artifactId>mybatis-spring-boot-starter</artifactId>
        <version>2.1.3</version> <!-- 请使用MyBatis官方文档推荐的当前合适版本 -->
    </dependency>
    <!-- MySQL JDBC 驱动 -->
    <dependency>
        <groupId>mysql</groupId>
        <artifactId>mysql-connector-java</artifactId>
        <version>8.0.22</version>
    </dependency>
    <!-- 其他必要依赖:Spring Boot Web Starter, Spring Boot Test等 -->
</dependencies>

步骤2: 配置application.properties或application.yml

application.propertiesapplication.yml中配置数据库连接和MyBatis设置:

# DataSource配置
spring.datasource.url=jdbc:mysql://localhost:3306/mydatabase?useSSL=false&serverTimezone=UTC
spring.datasource.username=root
spring.datasource.password=password
spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver

# MyBatis配置
mybatis.type-aliases-package=com.example.mapping
mybatis.mapper-locations=classpath:mapper/*.xml

或者application.yml:

spring:
  datasource:
    url: jdbc:mysql://localhost:3306/mydatabase?useSSL=false&serverTimezone=UTC
    username: root
    password: password
    driver-class-name: com.mysql.cj.jdbc.Driver
mybatis:
  type-aliases-package: com.example.mapping
  mapper-locations: classpath:mapper/*.xml

步骤3: 创建实体类

创建实体类与数据库表对应:

package com.example.mapping;

public class User {
    private Long id;
    private String name;
    private String email;
    
    // ... getters and setters ...
}

步骤4: 创建Mapper接口及XML映射文件

创建MyBatis的Mapper接口,以及相应的XML映射文件,定义SQL操作:

package com.example.mapping;

import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Select;

import java.util.List;

@Mapper
public interface UserMapper {

    @Select("SELECT * FROM users WHERE id = #{id}")
    User findById(Long id);
    
    // 其他映射方法...
}

src/main/resources/mapper目录下创建XML映射文件UserMapper.xml

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.example.mapping.UserMapper">
    <select id="findAll" resultType="com.example.mapping.User">
        SELECT * FROM users
    </select>
</mapper>

步骤5: 使用Mapper

在你的Service类中注入Mapper接口并使用,例如:

package com.example.service;

import com.example.mapping.User;
import com.example.mapping.UserMapper;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

import java.util.List;

@Service
public class UserService {

    @Autowired
    private UserMapper userMapper;
    
    public User findUserById(Long id) {
        return userMapper.findById(id);
    }

    // 其他业务逻辑...
}

步骤6: 运行应用程序

按照常规Spring Boot应用程序的方式来运行你的应用程序。如果一切配置正确,MyBatis将与Spring Boot无缝集成,你可以在你的服务和控制器中使用MyBatis Mapper接口了。

以上是将MyBatis整合到Spring Boot应用程序中的基本步骤。此外,你也可以根据需要配置更多MyBatis的高级特性,如动态SQL、插件和拦截器等。

相关推荐

  1. SpringBoot集成MyBatis步骤什么

    2024-07-21 09:56:03       17 阅读
  2. springboot集成mybatis-plus

    2024-07-21 09:56:03       49 阅读
  3. SpringBoot集成MyBatis-Plus

    2024-07-21 09:56:03       27 阅读
  4. mybatis 中 #{}和 ${}区别什么

    2024-07-21 09:56:03       24 阅读
  5. springboot集成mybatis 单元测试

    2024-07-21 09:56:03       27 阅读
  6. .什么MyBatis

    2024-07-21 09:56:03       32 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-07-21 09:56:03       52 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-07-21 09:56:03       54 阅读
  3. 在Django里面运行非项目文件

    2024-07-21 09:56:03       45 阅读
  4. Python语言-面向对象

    2024-07-21 09:56:03       55 阅读

热门阅读

  1. 【阿里OSS文件上传】SpringBoot实现阿里OSS对象上传

    2024-07-21 09:56:03       17 阅读
  2. 新媒体运营如何找准账号定位?

    2024-07-21 09:56:03       15 阅读
  3. C++--fill

    2024-07-21 09:56:03       15 阅读
  4. Docker部署kafka,Docker所在宿主机以外主机访问

    2024-07-21 09:56:03       17 阅读
  5. Rust编程-类面向对象编程

    2024-07-21 09:56:03       14 阅读
  6. SQL Server高级玩法:打造数据库的自定义存储过程

    2024-07-21 09:56:03       16 阅读
  7. 运筹学:决策优化的艺术

    2024-07-21 09:56:03       15 阅读
  8. OpenCV车牌识别技术详解

    2024-07-21 09:56:03       14 阅读
  9. MySQL——索引

    2024-07-21 09:56:03       15 阅读