SpringBoot集成MyBatis-Plus的完整教程

 更新时间:2026年06月30日 09:43:34   作者:张老师技术栈  
本文详细介绍了如何在SpringBoot项目中集成MyBatis-Plus,并线介绍了创建项目、引入依赖、配置数据源、创建实体类和Mapper接口等步骤,重点展示了MyBatis-Plus如何简化数据库操作,无需手写SQL,极大提升开发效率,需要的朋友可以参考下

MyBatis-Plus 是目前 Java 开发中最常用的 ORM 框架之一。这篇文章带你从零搭建一个 Spring Boot + MyBatis-Plus 项目。

一、创建项目

用 Spring Initializr 或者 IDE 直接创建 Spring Boot 项目,勾选:

  • Spring Web
  • MySQL Driver
  • Lombok(可选,简化代码)

二、引入 MyBatis-Plus 依赖

pom.xml 中添加:

<dependency>
    <groupId>com.baomidou</groupId>
    <artifactId>mybatis-plus-boot-starter</artifactId>
    <version>3.5.5</version>
</dependency>

三、配置数据源

application.yml

spring:
  datasource:
    url: jdbc:mysql://localhost:3306/test_db?useUnicode=true&characterEncoding=utf-8
    username: root
    password: 123456
    driver-class-name: com.mysql.cj.jdbc.Driver
​
mybatis-plus:
  configuration:
    log-impl: org.apache.ibatis.logging.stdout.StdOutImpl  # 打印SQL日志

四、创建实体类

@Data
@TableName("user")
public class User {
    @TableId(type = IdType.AUTO)
    private Long id;
    private String name;
    private Integer age;
    private String email;
}

五、创建 Mapper 接口

@Mapper
public interface UserMapper extends BaseMapper<User> {
    // BaseMapper 已经提供了CRUD方法,不需要写SQL
}

六、测试

@SpringBootTest
class UserMapperTests {
​
    @Autowired
    private UserMapper userMapper;
​
    @Test
    void testSelect() {
        List<User> users = userMapper.selectList(null);
        System.out.println(users);
    }
​
    @Test
    void testInsert() {
        User user = new User();
        user.setName("张三");
        user.setAge(20);
        user.setEmail("zhangsan@example.com");
        int rows = userMapper.insert(user);
        System.out.println("插入成功:" + rows);
    }
}

运行 testSelect,控制台会打印出数据库中的所有用户数据。

七、常用CRUD操作

// 根据ID查询
User user = userMapper.selectById(1L);
​
// 条件查询
List<User> users = userMapper.selectList(
    new LambdaQueryWrapper<User>()
        .eq(User::getAge, 20)
        .like(User::getName, "张")
);
​
// 分页查询(需要配置分页插件)
Page<User> page = userMapper.selectPage(
    new Page<>(1, 10), null
);
​
// 更新
userMapper.updateById(user);
​
// 删除
userMapper.deleteById(1L);

八、配置分页插件

@Configuration
public class MyBatisPlusConfig {
    @Bean
    public MybatisPlusInterceptor mybatisPlusInterceptor() {
        MybatisPlusInterceptor interceptor = new MybatisPlusInterceptor();
        interceptor.addInnerInterceptor(new PaginationInnerInterceptor());
        return interceptor;
    }
}

总结

MyBatis-Plus 最大的优点就是:单表操作不用写SQL。BaseMapper 已经封装好了常用的增删改查,开发效率提升很多。如果你还在手写大量XML,值得试试这款工具。

以上就是SpringBoot集成MyBatis-Plus的完整教程的详细内容,更多关于SpringBoot集成MyBatis-Plus的资料请关注脚本之家其它相关文章!

相关文章

  • Spring Boot集成Seata实现基于AT模式的分布式事务的解决方案

    Spring Boot集成Seata实现基于AT模式的分布式事务的解决方案

    Seata 是一款开源的分布式事务解决方案,致力于提供高性能和简单易用的分布式事务服务,这篇文章主要介绍了Spring Boot集成Seata实现基于AT模式的分布式事务,需要的朋友可以参考下
    2024-08-08
  • Spring boot中PropertySource注解的使用方法详解

    Spring boot中PropertySource注解的使用方法详解

    这篇文章主要给大家介绍了关于Spring boot中PropertySource注解的使用方法,文中通过示例代码介绍的非常详细,对大家学习或者使用Spring boot具有一定的参考学习价值,需要的朋友们下面来一起学习学习吧。
    2017-12-12
  • java compiler没有1.8怎么解决

    java compiler没有1.8怎么解决

    这篇文章主要介绍了java compiler没有1.8的解决方法,非常不错,具有一定的参考借鉴价值,需要的朋友可以参考下
    2018-08-08
  • 基于Java编写一个实用的ExcelUtil工具类

    基于Java编写一个实用的ExcelUtil工具类

    在项目中经常遇到excel表格导入导出功能,每次都要重复写有关excel 的逻辑,所以本文直接使用Java编写一个实用的ExcelUtil工具类,希望对大家有所帮助
    2024-04-04
  • 极简的Resty服务端和客户端RESTful框架

    极简的Resty服务端和客户端RESTful框架

    这篇文章主要为大家介绍了极简的Resty服务端和客户端RESTful框架的好处及作用,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步
    2022-03-03
  • Spring的Bean注入解析结果BeanDefinition详解

    Spring的Bean注入解析结果BeanDefinition详解

    这篇文章主要介绍了Spring的Bean注入解析结果BeanDefinition详解,BeanDefinition描述了一个bean实例,拥有属性值、构造参数值和具体实现的其他信息,其是一个bean的元数据,xml中配置的bean元素会被解析成BeanDefinition对象,需要的朋友可以参考下
    2023-12-12
  • 详解Mybatis通用Mapper介绍与使用

    详解Mybatis通用Mapper介绍与使用

    目前通用mapper只支持对单表的操作,对单表的增删改查,无需在mapper.xml写对应的sql语句,只需要我们调用相应的接口,对于快速开发极为方便,感兴趣的小伙伴们可以参考一下
    2018-06-06
  • 利用MyBatis-Plus灵活处理JSON字段的技巧与最佳实践

    利用MyBatis-Plus灵活处理JSON字段的技巧与最佳实践

    这篇文章主要给大家介绍了关于利用MyBatis-Plus灵活处理JSON字段的技巧与最佳实践,Mybatis-Plus可以很方便地处理JSON字段,在实体类中可以使用@JSONField注解来标记JSON字段,需要的朋友可以参考下
    2024-07-07
  • java获取当前时间戳的方法

    java获取当前时间戳的方法

    本文主要介绍了java获取当前时间戳的方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2023-06-06
  • java实现二维数组转置的方法示例

    java实现二维数组转置的方法示例

    这篇文章主要介绍了java实现二维数组转置的方法,结合实例形式详细分析了java二维数组转置的原理、实现步骤与相关操作技巧,需要的朋友可以参考下
    2017-10-10

最新评论