SpringBoot整合篇 02、Springboot整合MybatisPlus

举报
长路 发表于 2022/11/28 19:45:39 2022/11/28
【摘要】 文章目录前言一、Springboot快速集成MybatisPlus二、分页参考文章 前言 本篇博客是SpringBoot整合MybatisPlus,若文章中出现相关问题,请指出! 所有博客文件目录索引:博客目录索引(持续更新) 一、Springboot快速集成MybatisPlus MybatisPlus官网 准备工作 step1:添加依赖 <!-- mybatis plus

@[toc]

前言

本篇博客是SpringBoot整合MybatisPlus,若文章中出现相关问题,请指出!

所有博客文件目录索引:博客目录索引(持续更新)

一、Springboot快速集成MybatisPlus

MybatisPlus官网

准备工作

step1:添加依赖

<!--   mybatis plus     -->
<dependency>
    <groupId>com.baomidou</groupId>
    <artifactId>mybatis-plus-boot-starter</artifactId>
    <version>3.4.0</version>
</dependency>
<dependency>
    <groupId>mysql</groupId>
    <artifactId>mysql-connector-java</artifactId>
    <scope>runtime</scope>
</dependency>

step2:yml配置

spring:
  datasource:
    driver-class-name: com.mysql.cj.jdbc.Driver
    url: jdbc:mysql://127.0.0.1:3306/test?useUnicode=true&characterEncoding=UTF-8&serverTimezone=Asia/Shanghai
    username: root
    password: 123456

#控制台打印sql
mybatis-plus:
  configuration:
    log-impl: org.apache.ibatis.logging.stdout.StdOutImpl

step3:springboot启动类上添加自动扫描包

@MapperScan("xyz.changlu.mapper")

应用

Dao扩展配置类:可以直接直接调用方法查询数据库

//可以直接应用基本的CRUD
public interface UserMapper extends BaseMapper<User> {
}

service层扩展配置类:

其中QueryWrapper可以来配置一些条件筛选

//①继承IService,包含一些service封装好的方法
public interface UserService extends IService<User> {
}

@Service
//①继承extends ServiceImpl<UserMapper, User>,封装好了IService中的一些接口
//②实现UserService
public class UserServiceImpl extends ServiceImpl<UserMapper, User> implements UserService {

    @Resource
    private UserMapper userMapper;

    @Override
    public List<User> getUserByName(String name) {
        QueryWrapper<User> wrapper = new QueryWrapper<>();
        wrapper.select("id","name","age").like("name",name);
        //执行查询
        List<User> users = userMapper.selectList(wrapper);
        return users;
    }


}


二、分页

MybatisPlus官方文档(分页)

编写配置类:

/**
 * @author Administrator
 * @date 2021/07/26 16:36
 **/
@Configuration
@Component
public class MybatisPlusConfig {

    // 最新版
    @Bean
    public MybatisPlusInterceptor mybatisPlusInterceptor() {
        MybatisPlusInterceptor interceptor = new MybatisPlusInterceptor();
        interceptor.addInnerInterceptor(new PaginationInnerInterceptor(DbType.MYSQL));
        return interceptor;
    }
}

编写测试类:这里使用controller

@RestController
@RequestMapping("/api/v1/test/my")
public class UserController {
    @Autowired
    private UserMapper userMapper;

    @GetMapping("list")
    public ResultBody test(){
        //设置Page实例
        Page<User> page = new Page<>(2, 3);
		//调用Mapper分页查询
        Page<User> userPage = userMapper.selectPage(page, null);
        userPage.getRecords().forEach(System.out::println);//getRecords()拿到分页查询的List集合
        return ResultBody.success(userPage.getRecords());
    }

}


参考文章

[1]. SpringBoot整合MyBatis-Plus各种使用点超级详细:非常详细,包含分页插件、自动填充数据、逻辑删除、乐观锁实现

[2]. MyBatis Plus——分页插件【PaginationInnerInterceptor】:基本分页使用

【声明】本内容来自华为云开发者社区博主,不代表华为云及华为云开发者社区的观点和立场。转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息,否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。