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 Spring详解如何配置数据源注解开发以及整合Junit

    1. Java Spring配置数据源 在Java Spring中配置数据源可以使用两种方式: 使用XML配置文件 使用Java注解 这里我们介绍使用Java注解的方式。首先需要在pom.xml文件中添加以下依赖: <dependencies> <dependency> <groupId>org.springframewo…

    Java 2023年5月20日
    00
  • 新手小白学JAVA 日期类Date SimpleDateFormat Calendar(入门)

    新手小白学JAVA 日期类Date SimpleDateFormat Calendar(入门) 1. Date类 Java中的 java.util.Date 类用于表示日期和时间。它的构造方法如下: public class Date { public Date() { } public Date(long date) { } } 其中,Date() 的无参…

    Java 2023年5月20日
    00
  • java实现单机限流

    Java实现单机限流,可以通过限制每秒钟能处理多少次请求、对同一IP的请求进行限制等手段来避免服务被恶意请求压垮。下面是实现单机限流的完整攻略: 步骤一:引入限流工具包 Java实现单机限流可以使用开源限流工具包,比如Guava、Redis等。 以Guava为例,引入Guava限流工具包的步骤如下: 在pom.xml文件中添加以下依赖 <depende…

    Java 2023年5月19日
    00
  • Java I/O流之打印流详细使用方法教程

    下面就为您详细讲解 Java I/O 流之打印流的详细使用方法教程。 简介 Java 提供了多种 I/O 流来处理输入输出操作,其中打印流(PrintStream 和 PrintWriter)可以方便地格式化输出文本。本文将着重介绍打印流的使用方法。 打印流的创建 创建打印流对象的方式与创建其他 I/O 流类似,通常需要指定输出目标。以下是创建打印流对象的两…

    Java 2023年5月26日
    00
  • Java泛型在集合使用与自定义及继承上的体现和通配符的使用

    Java泛型是Java SE 5的一项新特性,用于解决类型安全问题和减少代码重复。通过使用泛型,可以在编译时捕获类型错误,并实现代码复用的目的。泛型主要体现在集合使用、自定义及继承和通配符的使用上。 Java泛型在集合使用上的体现 Java集合框架中的泛型被广泛地应用于ArrayList、LinkedList、HashSet、HashMap等类中。具体体现如…

    Java 2023年5月26日
    00
  • java实现银行管理系统

    Java实现银行管理系统攻略 1. 系统需求分析 在进行银行管理系统的开发前,我们需要对系统的需求进行分析。一般来说,银行管理系统需要包含以下功能模块: 用户管理:包括客户注册、登录、修改个人信息等功能。 账户管理:包括账户开户、查询余额、转账、存取款等功能。 交易管理:包括交易流水记录、账户冻结与解冻等功能。 系统管理:包括管理员登录、账号管理、数据备份等…

    Java 2023年5月19日
    00
  • GitLab+Jenkins+Maven+Tomcat 实现自动集成、打包、部署

    “GitLab+Jenkins+Maven+Tomcat 实现自动集成、打包、部署” 是一个使用开源工具链来实现软件开发流程自动化的典型例子。在本文档中,我们将详细介绍如何将这些工具整合起来,实现自动化集成、打包、部署。 准备工作 GitLab的安装 在你的服务器上安装 GitLab 这个基于 Git 的代码仓库管理系统,并确保它已经正确的配置好了 ssh …

    Java 2023年5月19日
    00
  • 关于Java for循环的正确用法介绍

    关于Java for循环的正确用法介绍 循环是Java中非常重要的一种语句。for循环是循环语句中最为常用和灵活的一种,它可以重复执行一段代码,在Java语言中,for循环的语法格式如下: for (初始化表达式; 布尔表达式; 更新表达式) { // 循环体 } 初始化表达式:初始化表达式在循环开始前执行,而且只会执行一次。这里我们一般做循环变量的初始化操…

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