SpringBoot项目将mybatis升级为mybatis-plus的方法

下面是详细讲解 SpringBoot 项目将 Mybatis 升级为 Mybatis-Plus 的方法:

一、前置准备

1. 项目环境

SpringBoot版本:2.5.1

Mybatis版本:3.5.4

2. 引入依赖

在项目 pom.xml 中的 dependencies 中,加入以下依赖:

<!-- Mybatis-plus -->
<dependency>
    <groupId>com.baomidou</groupId>
    <artifactId>mybatis-plus-boot-starter</artifactId>
    <version>3.4.3.1</version>
</dependency>

同时也需要注释掉原本的 Mybatis 依赖,因为 Mybatis-Plus 依赖中已经包括了 Mybatis 的依赖:

<!-- Mybatis -->
<!-- <dependency>
    <groupId>org.mybatis.spring.boot</groupId>
    <artifactId>mybatis-spring-boot-starter</artifactId>
    <version>2.2.0</version>
</dependency> -->

3. 配置 Mybatis-Plus

在 application.yml(或者 application.properties) 配置文件中,添加以下配置:

mybatis-plus:
  # 指定 xml 文件路径
  mapper-locations: classpath*:mapper/**/*Mapper.xml
  # 实体类命名规范,使用驼峰命名规则
  global-config:
    db-config:
      column-underline: false
      table-underline: false
      # 下划线转驼峰命名规则
      # logic-delete-field: deleted
      # logic-delete-value: 1
      # logic-not-delete-value: 0
      # 逻辑删除配置

至此,准备工作完成。

二、升级方法

1. 修改 Mapper

在原本的 Mapper 接口上加上 @Mapper 注解(或者在 MapperScan 的扫描包中扫描到该接口),然后修改这个接口继承 Mapper,并且增加一些 Mybatis-Plus 提供的接口。

下面是一个示例:

@Mapper
public interface UserMapper extends BaseMapper<User> {
    // Mybatis-Plus 提供的 selectById 方法
    User selectById(Long id);
}

Mybatis-Plus 的 BaseMapper 接口中包含了基本的 CRUD 操作,还有一些常用的方法,例如 insertBatch、selectList 等等,具体可以查看官方文档。

2. 修改 Service

  • Service 接口的实现

修改 Service 接口的实现,将原本的 Mybatis 操作改为 Mybatis-Plus 操作。

下面是一个示例:

@Service
public class UserServiceImpl implements UserService {

    @Autowired
    private UserMapper userMapper;

    // Mybatis-Plus 提供的 selectById 方法
    @Override
    public User getUserById(Long id) {
        return userMapper.selectById(id);
    }
}
  • 分页查询

Mybatis-Plus 中的分页查询与 Mybatis 中一样,都需要在调用接口时传入分页参数 Page,同时还可以使用 QueryWrapper(查询条件包装器)进行查询过滤。

下面是一个示例:

@Override
public IPage<User> getUserList(int pageNum, int pageSize, String name) {
    // 构建分页参数
    Page<User> page = new Page<>(pageNum, pageSize);

    // 构建查询条件
    QueryWrapper<User> queryWrapper = new QueryWrapper<>();
    queryWrapper.like("name", name);

    return userMapper.selectPage(page, queryWrapper);
}

3. 示例

下面是一个完整的示例:

/**
 * User 数据库操作类
 */
@Mapper
public interface UserMapper extends BaseMapper<User> {
    // Mybatis-Plus 提供的 selectById 方法
    User selectById(Long id);
}


/**
 * User 业务接口类
 */
@Service
public class UserServiceImpl implements UserService {

    @Autowired
    private UserMapper userMapper;

    // Mybatis-Plus 提供的 selectById 方法
    @Override
    public User getUserById(Long id) {
        return userMapper.selectById(id);
    }

    @Override
    public IPage<User> getUserList(int pageNum, int pageSize, String name) {
        // 构建分页参数
        Page<User> page = new Page<>(pageNum, pageSize);

        // 构建查询条件
        QueryWrapper<User> queryWrapper = new QueryWrapper<>();
        queryWrapper.like("name", name);

        return userMapper.selectPage(page, queryWrapper);
    }
}

/**
 * User 控制器类
 */
@RestController
public class UserController {

    @Autowired
    private UserService userService;

    @GetMapping("/user/{id}")
    public User getUserById(@PathVariable("id") Long id) {
        return userService.getUserById(id);
    }

    @GetMapping("/user/list")
    public IPage<User> getUserList(@RequestParam("pageNum") int pageNum,
                                   @RequestParam("pageSize") int pageSize,
                                   @RequestParam("name") String name) {
        return userService.getUserList(pageNum, pageSize, name);
    }
}

至此,完整的 SpringBoot 项目将 Mybatis 升级为 Mybatis-Plus 的方法已经讲解完毕。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:SpringBoot项目将mybatis升级为mybatis-plus的方法 - Python技术站

(0)
上一篇 2023年5月20日
下一篇 2023年5月20日

相关文章

  • Java实现聊天室界面

    实现Java聊天室界面的攻略如下: 1. 选择Java图形界面库 首先需要选择合适的Java图形界面库,建议使用JavaFX或Swing。本文将以JavaFX为例进行介绍。 2. 创建JavaFX项目 使用IDE工具(如eclipse或IntelliJ IDEA)创建一个JavaFX项目,选择合适的开发环境和JDK版本。创建后,在项目中创建一个JavaFX主…

    Java 2023年5月19日
    00
  • 如何在IntelliJ IDEA 2018上配置Tomcat并运行第一个JavaWeb项目

    请参考以下步骤来配置Tomcat并运行第一个JavaWeb项目: 1. 下载和安装Tomcat 首先,下载Tomcat并解压缩到本地。 推荐使用Tomcat 8.0版本。 打开Tomcat/bin目录,双击startup.bat文件启动Tomcat服务器。 2. 在IntelliJ IDEA 2018中配置Tomcat服务器 打开IntelliJ IDEA,…

    Java 2023年5月19日
    00
  • 关于maven全局配置文件settings.xml解析

    我将为您详细讲解关于Maven全局配置文件settings.xml的解析攻略。 什么是Maven全局配置文件settings.xml? Maven全局配置文件settings.xml是Maven的主配置文件,位于Maven的安装目录下的conf目录中。默认情况下,该文件是不存在的,需要手动创建。该文件可以用于配置Maven的全局配置信息,如Maven安装仓库…

    Java 2023年5月19日
    00
  • Windows 10上JDK环境安装配置图文教程

    下面是“Windows 10上JDK环境安装配置图文教程”的完整攻略: 1. 下载JDK安装包 首先,你需要下载JDK安装包。此步骤需要在Oracle官方网站上完成。 打开以下链接:https://www.oracle.com/java/technologies/javase-downloads.html 在“Java SE Downloads”页面中,找到…

    Java 2023年5月24日
    00
  • 大家在抢红包,程序员在研究红包算法

    让我来详细讲解一下「大家在抢红包,程序员在研究红包算法」这一话题。 首先,我们需要了解什么是「红包算法」。简单来说,红包算法就是计算如何分配一定数量的金额到多个红包里面,让每个红包的金额尽可能地公平分配。红包算法有很多种,比如「平均法」、「随机法」、「二倍均值法」等等。 接下来,我们先介绍一下「平均法」,因为这是最简单的红包算法之一。平均法的算法逻辑非常简单…

    Java 2023年5月26日
    00
  • 吊打Java面试官!整理了一周的Spring面试大全(附答案)

    首先,需要明确的是,本文的标题与内容存在一定的误导性和不规范的倾向,建议我们在平时的写作中避免使用类似“吊打”的语言,保持语言的温和和规范。 其次,本文是一份关于Spring面试题的整理和答案的文档,其中包含了很多有用的信息和答案,可以供想要准备Spring面试的人们借鉴。 接下来,我将详细讲解这份攻略的完整分析过程。 标题 首先,我们需要明确标题的含义和规…

    Java 2023年5月19日
    00
  • JavaMail入门教程之解析邮件(5)

    JavaMail入门教程之解析邮件(5) 在这篇教程中,我们将学习如何使用JavaMail解析邮件内容。JavaMail提供了多种解析邮件内容的方法。我们将介绍以下三种方法: 使用getContentType()获取邮件的内容类型,并根据邮件的类型进行解析; 使用getContent()获取邮件的内容,并根据邮件类型进行解析; 使用MimeMessagePa…

    Java 2023年6月15日
    00
  • 浅析JAVA常用JDBC连接数据库的方法总结

    我们来详细讲解一下“浅析JAVA常用JDBC连接数据库的方法总结”的完整攻略。 简介 在Java应用程序中,我们通常使用JDBC(Java Database Connectivity)来连接各种类型的数据库,包括关系型数据库(如MySQL、Oracle、SqlServer等)和非关系型数据库(如MongoDB、Redis等)。 使用JDBC连接数据库的过程包…

    Java 2023年5月19日
    00
合作推广
合作推广
分享本页
返回顶部