SpringBoot+MyBatisPlus

本文介绍了如何在SpringBoot项目中集成MyBatisPlus,详细步骤包括添加依赖、配置、MapperScan注解、实体类定义以及在Controller中使用Wrapper进行条件查询。通过这个教程,开发者可以快速掌握SpringBoot结合MyBatisPlus的使用方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

MyBatis-Plus官网

MyBatis-Plus(简称 MP)是一个 MyBatis 的增强工具,在 MyBatis 的基础上只做增强不做改变,为简化开发、提高效率而生。

  • 创建springboot项目

一、在SpringBoot中集成MyBatisPlus

1.1、pom.xml 添加依赖

        <!-- mysql -->
        <dependency>
            <groupId>mysql</groupId>
            <artifactId>mysql-connector-java</artifactId>
            <scope>runtime</scope>
        </dependency>
        <!--mybatis-plus-->
        <dependency>
            <groupId>com.baomidou</groupId>
            <artifactId>mybatis-plus-boot-starter</artifactId>
            <version>3.3.1.tmp</version>
        </dependency>
        <!--lombok-->
        <dependency>
            <groupId>org.projectlombok</groupId>
            <artifactId>lombok</artifactId>
            <version>1.18.10</version>
            <scope>provided</scope>
        </dependency>

1.2、application.properties 配置

# mysql 5 驱动不同 com.mysql.jsbc.Driver
# mysql 8 驱动不同 com.mysql.cj.jsbc.Driver、需要增加时区的配置
spring.datasource.username=root (数据库用户名)
spring.datasource.password=Aa123123.(数据库密码)

spring.datasource.url=jdbc:mysql://localhost:3306/mybatis_plus?useSSL=false&useUnicode=true&characterEncoding=utf-8&serverTimezone=GMT%2B8(数据库连接地址)
spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver(数据源)
#配置日志
mybatis-plus.configuration.
### Spring Boot 整合 MyBatis-Plus 示例 #### 项目创建与依赖配置 通过 Spring Initializr 创建一个基础的 Spring Boot 项目,并引入必要的依赖项,包括 `Spring Web`、`MyBatis-Plus` 和 `MySQL Driver`。以下是典型的 Maven 配置示例: ```xml <dependencies> <!-- Spring Web --> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> </dependency> <!-- MyBatis-Plus --> <dependency> <groupId>com.baomidou</groupId> <artifactId>mybatis-plus-boot-starter</artifactId> <version>3.5.1</version> </dependency> <!-- MySQL Driver --> <dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> <scope>runtime</scope> </dependency> </dependencies> ``` 上述配置展示了如何设置项目的初始环境[^2]。 --- #### 数据源配置 在 `application.yml` 或 `application.properties` 文件中完成数据源的相关配置。以下是一个基于 YAML 的配置实例: ```yaml spring: datasource: url: jdbc:mysql://localhost:3306/your_database?useUnicode=true&characterEncoding=utf8&serverTimezone=UTC username: root password: your_password driver-class-name: com.mysql.cj.jdbc.Driver mybatis-plus: configuration: log-impl: org.apache.ibatis.logging.stdout.StdOutImpl ``` 此部分定义了数据库连接参数以及日志输出方式[^1]。 --- #### 实体类映射 假设有一个名为 `User` 的表结构,则可以为其生成对应的实体类。如果使用 `mybatis-plus-generator` 工具,可以通过自动生成的方式简化开发流程[^3]。下面展示了一个手动编写的简单实体类示例: ```java package com.example.demo.entity; import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableName; import lombok.Data; @Data @TableName("user") public class User { @TableField("id") private Long id; @TableField("name") private String name; @TableField("age") private Integer age; } ``` 该代码片段说明了如何利用注解实现字段到数据库列的映射关系。 --- #### Mapper 接口设计 为了使 DAO 层更加简洁高效,继承 `BaseMapper<T>` 即可获得 CRUD 功能支持。例如针对上面提到的 `User` 表,其对应接口如下所示: ```java package com.example.demo.mapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.example.demo.entity.User; import org.apache.ibatis.annotations.Mapper; @Mapper public interface UserMapper extends BaseMapper<User> { } ``` 这里强调的是无需额外编写 SQL 查询语句即可满足大部分场景下的增删改查需求。 --- #### 常见问题解答 1. **无法加载 Mapper 接口** 如果遇到此类错误,请确认是否正确标注了 `@MapperScan` 注解于启动类之上或者单独给每个 Mapper 添加了 `@Mapper` 装饰符。 2. **分页插件未生效** 在全局配置文件里启用分页组件并注册拦截器之后仍然不起作用的话,可能是因为方法签名不符合要求所致。确保返回值类型为 `IPage<T>` 并传递合适的 Page 对象作为第一个参数。 3. **动态数据源切换失败** 当应用程序涉及多个数据库时需特别注意事务管理机制的设计合理性;另外还需验证上下文中是否存在有效的 DataSourceKey 提供者服务。 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值