Springboot整合mybatisPlus操作数据库

本文涉及的产品
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
RDS MySQL Serverless 高可用系列,价值2615元额度,1个月
简介: MyBatis-Plus是MyBatis的增强工具,简化开发、提高效率。它提供官网文档,便于集成到SpringBoot项目中。集成步骤包括添加mybatis-plus-boot-starter和数据库驱动依赖,配置数据源,扫描Mapper类包。Mapper接口继承BaseMapper即可使用基本的CRUD操作。示例代码展示了Service层的增删改查实现。MyBatisPlus还支持逻辑删除、自动填充等功能,同时可与Mybatis XML配合使用,通过调整配置指定XML映射文件位置。

一、MyBatis-Plus简介

MyBatis-Plus(简称 MP)是一个MyBatis的增强工具,在 MyBatis 的基础上只做增强不做改变,为简化开发、提高效率而生。

   官网文档地址: 简介 | MyBatis-Plus

二、SpringBoot集成MybatisPlus

第一步:通过maven坐标将mybatis-plus-boot-starter以及数据库驱动引入到Spring Boot项目里面来。注意:引入mybatis-plus-boot-starter的项目就不需要引入mybatis-spring-boot-starter了

   <dependency>

       <groupId>com.baomidou</groupId>

       <artifactId>mybatis-plus-boot-starter</artifactId>

       <version>3.3.2</version>

   </dependency>

   <dependency>

       <groupId>mysql</groupId>

       <artifactId>mysql-connector-java</artifactId>

   </dependency>

第二步:保证application.yml里面有数据库连接的配置。

   spring:

     datasource:

       url: jdbc:mysql://192.168.161.3:3306/testdb?useUnicode=true&characterEncoding=utf-8&useSSL=false

       username: test

       password: 4rfv$RFV

       driver-class-name: com.mysql.cj.jdbc.Driver

第三步:配置Mybatis的Mapper类文件的包扫描路径

   

   @SpringBootApplication

   @MapperScan(basePackages = {"com.zimug.boot.launch.generator","com.zimug.boot.launch.mapper"})

   public class BootLaunchApplication {

   

       public static void main(String[] args) {

           SpringApplication.run(BootLaunchApplication.class, args);

       }

   

   }

三、Mapper继承实现

如果我们操作数据库中的article表,我们需要按照article表的结构创建一个实体类。

   @Data

   public class Article {

       private Long id;

   

       private String author;

   

       private String content;

   

       private String title;

   

       private Date createtime;

   }

然后写一个接口ArticleMapper ,继承自BaseMapper,泛型是Article实体类。

   public interface ArticleMapper extends BaseMapper<Article> {

   

   }

BaseMapper中默认帮我们提供了若干的增删改查基础实现,由于ArticleMapper 继承自BaseMapper

,所以ArticleMapper 可以使用这些方法去操作数据库的article表。

四、增删改查实现代码

   @Service

   public class ArtivleServiceImpl implements  ArticleService {

     @Resource

     protected Mapper dozerMapper;

   

     @Resource

     private ArticleMapper articleMapper;

   

   

     //新增

     @Override

     public void saveArticle(ArticleVO article) {

       Article articlePO = dozerMapper.map(article,Article.class);

       articleMapper.insert(articlePO);

     }

   

     //删除

     @Override

     public void deleteArticle(Long id) {

       articleMapper.deleteById(id);

     }

   

     //更新

     @Override

     public void updateArticle(ArticleVO article) {

       Article articlePO = dozerMapper.map(article,Article.class);

       articleMapper.updateById(articlePO);

     }

   

     //查询

     @Override

     public ArticleVO getArticle(Long id) {

       return dozerMapper.map(articleMapper.selectById(id),ArticleVO.class);

     }

   

     //查询所有

     @Override

     public List<ArticleVO> getAll() {

       List<Article> articles = articleMapper.selectList(null);    

       return DozerUtils.mapList(articles,ArticleVO.class);

     }

   }

MybatisPlus的功能十分强大,还有很多有意义的功能,比如:逻辑删除、自动填充、代码生成等都非常有意义,能很大程度上提高我们的开发效率。

我们这本书主要核心是Spring Boot,所以主要内容也是讲解在Spring Boot中如何集成MybatisPlus,更多的内容的学习可以参考我写的mybatis plus的文档(免费),地址:mybatisplus小书

五、MybatisPlus与Mybatis XML

Mybatis Plus只是对Mybatis的增强,所以在使用mybatis plus的项目里面仍然可以使用mybatis xml的语法来实现ORM SQL映射(特别是动态SQL的书写)。

但是需要将扫描路径配置进行简单的调整,原始的配置是这样的

   mybatis:

       mapper-locations: classpath:generator/*.xml

调整之后的配置是这样的

   mybatis-plus:

       mapper-locations: classpath:generator/*.x


相关实践学习
基于CentOS快速搭建LAMP环境
本教程介绍如何搭建LAMP环境,其中LAMP分别代表Linux、Apache、MySQL和PHP。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助 &nbsp; &nbsp; 相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
相关文章
|
1天前
|
安全 前端开发 Java
挑战5分钟内基于Springboot+SpringMVC+Mybatis-plus快速构建web后端三层架构
挑战5分钟内基于Springboot+SpringMVC+Mybatis-plus快速构建web后端三层架构
6 1
|
1天前
|
分布式计算 大数据 数据处理
MaxCompute操作报错合集之odps数据库T1有几百行的数据,为什么出来只有5行的数据
MaxCompute是阿里云提供的大规模离线数据处理服务,用于大数据分析、挖掘和报表生成等场景。在使用MaxCompute进行数据处理时,可能会遇到各种操作报错。以下是一些常见的MaxCompute操作报错及其可能的原因与解决措施的合集。
|
4天前
|
JavaScript Java 测试技术
基于SpringBoot+Vue的数据库课程在线教学的详细设计和实现(源码+lw+部署文档+讲解等)
基于SpringBoot+Vue的数据库课程在线教学的详细设计和实现(源码+lw+部署文档+讲解等)
17 2
|
16小时前
|
缓存 Java 数据库
springboot数据库及缓存常用依赖及配置
springboot数据库及缓存常用依赖及配置
28 9
|
17小时前
|
Java 关系型数据库 MySQL
3.MyBatis和SpringBoot整合及MyBatis-plus与SpringBoot整合
3.MyBatis和SpringBoot整合及MyBatis-plus与SpringBoot整合
|
17小时前
|
XML 关系型数据库 数据库
使用mybatis-generator插件生成postgresql数据库model、mapper、xml
使用mybatis-generator插件生成postgresql数据库model、mapper、xml
8 0
|
1天前
|
NoSQL Java 关系型数据库
非关系型数据库NoSQL数据层解决方案 之 Mongodb 简介 下载安装 springboot整合与读写操作
非关系型数据库NoSQL数据层解决方案 之 Mongodb 简介 下载安装 springboot整合与读写操作
4 0
|
1天前
|
NoSQL Java 关系型数据库
非关系型数据库NoSQL数据层解决方案 之 redis springboot整合与读写操作 2024详解以及window版redis5.0.14下载
非关系型数据库NoSQL数据层解决方案 之 redis springboot整合与读写操作 2024详解以及window版redis5.0.14下载
5 0
|
1天前
|
SQL 分布式计算 MaxCompute
MaxCompute操作报错合集之通过UDF(用户定义函数)请求外部数据库资源并遇到报错,是什么原因
MaxCompute是阿里云提供的大规模离线数据处理服务,用于大数据分析、挖掘和报表生成等场景。在使用MaxCompute进行数据处理时,可能会遇到各种操作报错。以下是一些常见的MaxCompute操作报错及其可能的原因与解决措施的合集。
|
3天前
|
Java 数据库连接 数据库
Spring Boot集成MyBatis Plus
Spring Boot集成MyBatis Plus

热门文章

最新文章