SpringBoot集成MybatisPlus

啦啦啦啦啦,富贵同学又开始开坑了,出了个免费的专栏,主要给大家从0基础开始用springBoot集成第三方的插件或者功能,如果这篇专栏能帮到你,一定不要忘了点一个赞哦!!欢迎大家收藏分享

在这里插入图片描述
富贵同学发现好多人都不喜欢看官方文档,怕看不懂,其实我也是这样,有没有和我一样喜欢看博客而不看官方文档的。
官方文档:
快速开始
既然这样今天给大家讲一下springboot集成mybatisplus,其实在这个前面我还写了一篇文章,是将controller层给抽取出来,只要继承了basecontrol类就可以实现增删改查,分页查询,条件查询等复杂的功能,请大家移至这篇文章上观看
MybatisPlus不好用,帅小伙一气之下写了个MybatisPlusPro

第一步,导入jar包

		<!--Mybatis-Plus-->
		<dependency>
			<groupId>com.baomidou</groupId>
			<artifactId>mybatis-plus-boot-starter</artifactId>
			<version>3.4.2</version>
		</dependency>
		<dependency>
			<groupId>mysql</groupId>
			<artifactId>mysql-connector-java</artifactId>
			<scope>runtime</scope>
		</dependency>
		<dependency>
			<groupId>org.projectlombok</groupId>
			<artifactId>lombok</artifactId>
			<version>1.18.22</version>
			<scope>provided</scope>
		</dependency>
		<dependency>
			<groupId>org.springframework.boot</groupId>
			<artifactId>spring-boot-starter-web</artifactId>
		</dependency>

第二步,编写dao类,其实mybatisplus很简单,就是dao层实现basemapper就可以实现增删改查了

import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.wangfugui.mybatisplus.dao.domain.User;
import org.springframework.stereotype.Repository;

/**
 * @author MaSiyi
 * @version 1.0.0 2021/12/11
 * @since JDK 1.8.0
 */
@Repository
public interface UserDao extends BaseMapper<User> {
}

对,就完了。。。。

第三步,调用他的方法

package com.wangfugui.mybatisplus.service.impl;

import com.wangfugui.mybatisplus.dao.UserDao;
import com.wangfugui.mybatisplus.dao.domain.User;
import com.wangfugui.mybatisplus.service.UserService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

/**
 * @author MaSiyi
 * @version 1.0.0 2021/12/11
 * @since JDK 1.8.0
 */
@Service
public class UserServiceImpl implements UserService {

    @Autowired
    private UserDao userDao;

    /**
     * 增
     *
     * @param user
     * @Param: [user]
     * @return: java.lang.String
     * @Author: MaSiyi
     * @Date: 2021/12/11
     */
    @Override
    public String insert(User user) {
        userDao.insert(user);
        return "ok";
    }

    /**
     * 改
     *
     * @param user
     * @Param: [user]
     * @return: java.lang.String
     * @Author: MaSiyi
     * @Date: 2021/12/11
     */
    @Override
    public String update(User user) {
        userDao.update(user,null);
        return "ok";
    }

    /**
     * 查
     *
     * @param id
     * @Param: [id]
     * @return: java.lang.String
     * @Author: MaSiyi
     * @Date: 2021/12/11
     */
    @Override
    public User getOne(Integer id) {
        return userDao.selectById(id);
    }

    /**
     * 删
     *
     * @param id
     * @Param: [id]
     * @return: java.lang.String
     * @Author: MaSiyi
     * @Date: 2021/12/11
     */
    @Override
    public String delete(Integer id) {
        userDao.deleteById(id);
        return "ok";
    }
}

第四步,controller测试

import com.wangfugui.mybatisplus.dao.domain.User;
import com.wangfugui.mybatisplus.service.UserService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;

/**
 * @author MaSiyi
 * @version 1.0.0 2021/12/11
 * @since JDK 1.8.0
 */
@RestController
@RequestMapping("/user")
public class UserController {

    @Autowired
    private UserService userService;

    @PostMapping("/insert")
    public String insert(@RequestBody User user) {
        return userService.insert(user);

    }


    @PostMapping("/update")
    public String update(@RequestBody User user) {
        return userService.update(user);
    }

    @GetMapping("/getOne")
    public User getOne(@RequestParam Integer id) {
        return userService.getOne(id);
    }

    @GetMapping("/delete")
    public String delete(@RequestParam Integer id) {
        return userService.delete(id);
    }

}

最后附上我的“mybatispluspro”的类:


import cn.hutool.core.util.StrUtil;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.IService;
import com.wangfugui.apprentice.common.util.ApprenticeUtil;
import com.wangfugui.apprentice.common.util.ResponseUtils;
import com.wangfugui.apprentice.dao.dto.PageParamDto;
import io.swagger.annotations.ApiOperation;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestParam;

import java.util.List;

/** 核心公共controller类
 * @Param:
 * @return:
 * @Author: MaSiyi
 * @Date: 2021/11/26
 */
public class BaseController<S extends IService<E>, E> {

    @Autowired
    protected S baseService;

    @ApiOperation("增")
    @PostMapping("/insert")
    public ResponseUtils insert(@RequestBody E entity) {
        baseService.save(entity);
        return ResponseUtils.success("添加成功");
    }

    @ApiOperation("删")
    @PostMapping("/deleteById")
    public ResponseUtils delete(@RequestBody List<Integer> ids) {

        baseService.removeByIds(ids);
        return ResponseUtils.success("添加成功");
    }

    @ApiOperation("改")
    @PostMapping("/updateById")
    public ResponseUtils updateById(@RequestBody E entity) {
        baseService.updateById(entity);
        return ResponseUtils.success("添加成功");
    }

    @ApiOperation("查")
    @GetMapping("/getById")
    public ResponseUtils getById(@RequestParam Integer id) {

        return ResponseUtils.success(baseService.getById(id));
    }

    @ApiOperation("存")
    @PostMapping("/save")
    public ResponseUtils save(@RequestBody E entity) {
        baseService.saveOrUpdate(entity);
        return ResponseUtils.success("添加成功");
    }

    @ApiOperation("list查")
    @PostMapping("/list")
    public ResponseUtils list(@RequestBody E entity) {
        QueryWrapper<E> queryWrapper = ApprenticeUtil.getQueryWrapper(entity);
        List<E> list = baseService.list(queryWrapper);
        return ResponseUtils.success(list);
    }

    @ApiOperation("page查")
    @PostMapping("/page")
    public ResponseUtils page(@RequestBody PageParamDto<E> pageParamDto) {
        //限制条件
        if (pageParamDto.getPage() < 1) {
            pageParamDto.setPage(1);
        }

        if (pageParamDto.getSize() > 100) {
            pageParamDto.setSize(100);
        }
        Page<E> page = new Page<>(pageParamDto.getPage(), pageParamDto.getSize());
        QueryWrapper<E> queryWrapper = new QueryWrapper<>();
        //升序
        String asc = pageParamDto.getAsc();
        if (!StrUtil.isEmpty(asc) && !"null".equals(asc)) {
            String[] split = asc.split(",");
            queryWrapper.orderByAsc(split);
        }
        //降序
        String desc = pageParamDto.getDesc();
        if (!StrUtil.isEmpty(desc) && !"null".equals(desc)) {
            String[] split = desc.split(",");
            queryWrapper.orderByDesc(split);
        }
        Page<E> ePage = baseService.page(page, queryWrapper);
        return ResponseUtils.success(ePage);
    }

    @ApiOperation("获取数量")
    @PostMapping("/count")
    public ResponseUtils count(@RequestBody E entity) {
        QueryWrapper<E> queryWrapper = ApprenticeUtil.getQueryWrapper(entity);
        long count = baseService.count(queryWrapper);
        return ResponseUtils.success(count);
    }


}


好了,就是这么的简单,完整代码请移至SpringBoot+MybatisPlus 查看
在这里插入图片描述

### 回答1: 在SpringBoot集成MybatisPlus需要完成以下步骤: 1. 添加依赖:在项目的pom.xml文件中添加MybatisPlus和Mybatis的依赖。 2. 配置数据源:在application.properties或application.yml文件中配置数据库连接信息和MybatisPlus的相关配置信息,比如Mapper映射文件的路径等。 3. 创建Mapper接口:定义一个Mapper接口,继承MybatisPlus提供的BaseMapper接口,并添加相应的注解。 4. 创建实体类:创建与数据库表对应的实体类,并使用注解来映射实体类属性和数据库表字段。 5. 编写业务代码:在Service层中编写相应的业务代码,包括调用Mapper接口中的方法来完成对数据库的操作。 6. 测试:编写测试代码来测试上述功能是否正常运行。 以上就是SpringBoot集成MybatisPlus的基本步骤,希望能对您有所帮助。 ### 回答2: Spring Boot集成MyBatis Plus是一种常见的组合方式,可以快速、简单地进行Java开发。下面我会简单介绍一下集成的步骤和优势。 首先,为了集成Spring Boot和MyBatis Plus,我们需要在pom.xml中添加相关依赖。这些依赖将负责将 MyBatis Plus 和 Spring Boot 连接起来。然后,我们需要在配置文件中配置数据库连接信息和MyBatis Plus的一些参数。 接下来,我们可以开始编写我们的实体类和Mapper接口。MyBatis Plus提供了很多方便的注解和接口,可以省去我们编写大量的CRUD操作代码。例如,使用@TableName注解来指定表名,使用@Mapper注解来标识Mapper接口等。 然后,我们可以在Service类中使用MyBatis Plus提供的方法来进行数据操作。例如,使用getById()方法来根据主键查询数据,使用insert()方法来插入数据等。MyBatis Plus还提供了更多的方法和条件查询的支持,可以根据具体的业务需求选择合适的方法来使用。 最后,可以使用Spring Boot提供的Web框架来暴露我们的接口,并进行测试和使用。可以使用Postman等工具来发送HTTP请求,验证我们的接口是否正常工作。 通过集成Spring Boot和MyBatis Plus,我们可以大大提高开发效率和代码质量。MyBatis Plus提供了许多便捷的功能,可以简化我们的开发过程,减少编码工作量。而Spring Boot则提供了一种快速、简单的开发框架,可以帮助我们更好地构建和管理我们的项目。 总结一下,Spring Boot集成MyBatis Plus是一种常用且优秀的开发方式。它可以帮助我们快速搭建项目、简化开发流程,同时提供了很多便捷的功能和工具,可以提高我们的开发效率和代码质量。希望这些信息对你有所帮助! ### 回答3: Spring Boot为我们提供了很多便利,可以简化我们的开发工作。MyBatis Plus是一个优秀的ORM框架,能够帮助我们更加轻松地操作数据库。 要在Spring Boot项目中集成MyBatis Plus,首先需要在pom.xml文件中添加相关的依赖。可以使用Maven或Gradle管理项目依赖,建议使用Maven。添加MyBatis Plus的依赖后,可以在项目中使用MyBatis Plus提供的各种功能,如分页查询、条件查询、条件更新等。 在Spring Boot中配置MyBatis Plus也非常简单。只需要在application.properties或application.yml文件中添加相应的配置项即可。配置项包括数据源信息、MyBatis Plus的配置信息等。在配置数据源信息时,可以使用Spring Boot提供的自动配置功能,根据配置文件中的相关配置自动创建数据源并注入到项目中。在配置MyBatis Plus信息时,可以自定义表名前缀、表名生成策略等。 在编写代码时,可以直接使用MyBatis Plus提供的各种查询方法,也可以使用自定义的SQL语句进行操作。MyBatis Plus还提供了实体类生成器工具,可以根据数据库表结构自动生成实体类,减少手动编写实体类的工作量。 总的来说,Spring Boot集成MyBatis Plus非常简单且方便。通过集成MyBatis Plus,我们可以更加轻松地操作数据库,提高开发效率。同时,MyBatis Plus在性能优化上也做了很多工作,对于大型系统的开发也有很好的支持。希望以上回答能够对您有所帮助。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

掉头发的王富贵

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值