MyBatis-Plus 使用方式介绍

MyBatis-Plus 使用方式介绍

MyBatis-Plus(简称 MP)是一个基于 MyBatis 的增强工具,旨在简化 MyBatis 的开发。它提供了一系列的便利功能和增强特性,可以帮助开发人员提高开发效率,减少重复代码。本文将介绍 MyBatis-Plus 的安装和使用方式,并通过实例说明其用法。

安装

在开始之前,确保你已经在项目中引入了 MyBatis 和相关的数据库驱动。接下来,我们将通过 Maven 进行安装。

在项目的 pom.xml 文件中添加以下依赖:

<dependency>
    <groupId>com.baomidou</groupId>
    <artifactId>mybatis-plus</artifactId>
    <version>3.4.3</version>
</dependency>

这将会将 MyBatis-Plus 添加到你的项目中。

配置

在开始使用 MyBatis-Plus 之前,我们需要对其进行配置。主要配置项包括数据库连接、实体扫描和配置 MyBatis-Plus 的自动填充等。

首先,打开项目的配置文件(比如 application.propertiesapplication.yml),添加数据库连接配置:

spring:
  datasource:
    url: jdbc:mysql://localhost:3306/mybatis_plus_demo?useUnicode=true&characterEncoding=utf-8&useSSL=false
    username: root
    password: your_password
    driver-class-name: com.mysql.cj.jdbc.Driver

然后,我们需要配置 MyBatis-Plus 的实体扫描路径,告诉它在哪里找到我们的实体类:

@Configuration
@MapperScan("com.example.demo.mapper")
public class MybatisPlusConfig {
    
    
}

这里假设你的实体类位于 com.example.demo.entity 包下。

最后,我们可以配置 MyBatis-Plus 的自动填充功能。首先,创建一个实现 MetaObjectHandler 接口的类,并重写其中的方法:

@Component
public class MyMetaObjectHandler implements MetaObjectHandler {
    
    

    @Override
    public void insertFill(MetaObject metaObject) {
    
    
        this.strictInsertFill(metaObject, "createTime", LocalDateTime.class, LocalDateTime.now());
        this.strictUpdateFill(metaObject, "updateTime", LocalDateTime.class, LocalDateTime.now());
    }

    @Override
    public void updateFill(MetaObject metaObject) {
    
    
        this.strictUpdateFill(metaObject, "updateTime", LocalDateTime.class, LocalDateTime.now());
    }
}

这里使用了 Java 8 的 LocalDateTime 类型来表示时间字段。然后,在你的实体类的对应字段上添加 @TableField(fill = FieldFill.INSERT_UPDATE) 注解,指定该字段在插入和更新时自动填充。

使用

一旦你完成了配置,就可以开始使用 MyBatis-Plus 进行数据库操作了。

基本 CRUD 操作

MyBatis-Plus 提供了一系列的通用方法来进行 CRUD 操作,你无需编写大量的重复代码。

插入数据

@Service
public class UserServiceImpl

 extends ServiceImpl<UserMapper, User> implements UserService {
    
    
    // ...
}

通过继承 ServiceImpl 并指定对应的 Mapper 类型,就可以直接使用其中的 CRUD 方法。

User user = new User();
user.setName("John");
user.setAge(25);
user.setEmail("[email protected]");

userService.save(user);

这将会插入一条新的用户数据到数据库中。

更新数据

User user = userService.getById(1L);
user.setAge(26);

userService.updateById(user);

这将会根据主键更新用户的年龄字段。

删除数据

userService.removeById(1L);

这将会根据主键删除对应的用户数据。

查询数据

List<User> userList = userService.list();

这将会返回所有的用户数据列表。

条件查询

除了通用的 CRUD 操作外,MyBatis-Plus 还提供了强大的条件查询功能,可以根据指定的条件进行数据查询。

QueryWrapper<User> wrapper = new QueryWrapper<>();
wrapper.like("name", "John").lt("age", 30);

List<User> userList = userService.list(wrapper);

这将会查询名字中包含 “John” 并且年龄小于 30 的用户数据。

结语

本文介绍了 MyBatis-Plus 的安装和使用方式,并通过示例说明了其基本的 CRUD 操作和条件查询功能。MyBatis-Plus 是一个强大且易于使用的工具,可以帮助开发人员更高效地进行数据库操作。希望本文对你有所帮助!

参考文档:MyBatis-Plus 官方文档

猜你喜欢

转载自blog.csdn.net/run65536/article/details/131315804