整合Mybatis是SpringBoot中常见的操作,可以方便地操作数据库。为了简化开发,通常我们会使用通用mapper插件和PageHelper插件。通用mapper插件提供了简单、易用的API,可以通过编写接口方法自动完成常见的数据库操作。PageHelper插件可以方便地进行分页操作。

一、导入相关依赖
要在SpringBoot中整合Mybatis、通用mapper和PageHelper,首先要在pom.xml文件中添加相关依赖。代码如下:

1、添加依赖

<dependencies>
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-web</artifactId>
    </dependency>
    
    <dependency>
        <groupId>org.mybatis.spring.boot</groupId>
        <artifactId>mybatis-spring-boot-starter</artifactId>
    </dependency>
    
    <dependency>
        <groupId>tk.mybatis</groupId>
        <artifactId>mapper-spring-boot-starter</artifactId>
    </dependency>
    
    <dependency>
        <groupId>com.github.pagehelper</groupId>
        <artifactId>pagehelper-spring-boot-starter</artifactId>
</dependency>
</dependencies>

二、配置Mybatis和通用mapper
导入依赖后,我们需要在配置文件中配置Mybatis和通用mapper。可以在application.properties或application.yml文件中进行配置。具体配置如下:

2、配置Mybatis和通用mapper

spring.datasource.url=jdbc:mysql://localhost:3306/test
spring.datasource.username=root
spring.datasource.password=123456
spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver

mybatis.mapper-locations=classpath:mapper/*.xml
mybatis.type-aliases-package=com.example.demo.entity

# 通用mapper配置
mapper.mappers=tk.mybatis.mapper.common.Mapper
mapper.not-empty=false
mapper.identity=MYSQL
mapper.order=BEFORE

# PageHelper配置,可以根据实际项目需要调整
pagehelper.helper-dialect=mysql
pagehelper.reasonable=true
pagehelper.support-methods-arguments=true
pagehelper.params=count=countSql

三、使用通用mapper和PageHelper插件
配置完成后,我们可以使用通用mapper和PageHelper插件进行数据库操作。可以通过编写相应的接口方法和xml文件来完成对数据库的操作,也可以直接使用通用mapper提供的方法。以下是使用通用mapper和PageHelper插件进行分页操作的示例代码:

3、使用通用mapper和PageHelper插件

// 导入通用mapper的注解
import tk.mybatis.mapper.annotation.RegisterMapper;
import tk.mybatis.mapper.common.Mapper;

// 自定义的Mapper接口,继承通用mapper提供的Mapper接口
@RegisterMapper
public interface MyMapper<T> extends Mapper<T> {
}

// 自定义的分页查询方法
public interface UserMapper extends MyMapper<User> {
    
    // 查询全部用户,并进行分页
    // 使用PageHelper.startPage方法指定分页参数
    default List<User> findAllUsers(int pageNum, int pageSize) {
        PageHelper.startPage(pageNum, pageSize);
        // 调用通用mapper提供的selectAll方法查询全部用户
        return selectAll();
    }
}

四、测试分页效果
配置和代码编写完成后,可以编写测试代码来测试分页效果。

4、测试分页效果

// 在Service或Controller中注入UserMapper
import org.springframework.beans.factory.annotation.Autowired;

import java.util.List;

public class UserService {

    @Autowired
    private UserMapper userMapper;

    // 测试分页查询
    public List<User> getAllUsers(int pageNum, int pageSize) {
        // 调用UserMapper接口中定义的方法进行分页查询
        return userMapper.findAllUsers(pageNum, pageSize);
    }
}

通过以上步骤,我们就可以在SpringBoot中完成Mybatis和通用mapper、PageHelper的整合,并实现分页查询功能。这样可以大大简化数据库操作的代码,提高开发效率。