Springboot整合mybatisPlus开发

本文涉及的产品
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
云数据库 RDS PostgreSQL,高可用系列 2核4GB
RDS MySQL DuckDB 分析主实例,集群系列 8核16GB
简介: MyBatis-Plus是一个MyBatis的增强工具,旨在简化开发和提高效率。它在不修改原有MyBatis的基础上提供额外功能。要将MyBatis-Plus集成到SpringBoot项目中,首先通过Maven添加mybatis-plus-boot-starter和相应数据库驱动依赖,然后配置application.yml中的数据库连接信息,并指定Mapper类的扫描路径。Mapper接口可继承BaseMapper实现基本的CRUD操作。

一、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了

<code class="language-plaintext hljs"><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></code>

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

<code class="language-plaintext hljs">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</code>

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

<code class="language-plaintext hljs">

@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);}}</code>

三、Mapper继承实现

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

<code class="language-plaintext hljs">@Data

public class Article{

   private Long id;

   private String author;

   private String content;

   private String title;

   private Date createtime;}</code>

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

<code class="language-plaintext hljs">public interface ArticleMapper extends BaseMapper<Article>{}</code>

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

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

四、增删改查实现代码

<code class="language-plaintext hljs">@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);}}</code>

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

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

五、MybatisPlus与Mybatis XML

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

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

<code class="language-plaintext hljs">mybatis:

   mapper-locations: classpath:generator/*.xml</code>

调整之后的配置是这样的

<code class="language-plaintext hljs">mybatis-plus:

   mapper-locations: classpath:generator/*.xml</code>


相关实践学习
每个IT人都想学的“Web应用上云经典架构”实战
本实验从Web应用上云这个最基本的、最普遍的需求出发,帮助IT从业者们通过“阿里云Web应用上云解决方案”,了解一个企业级Web应用上云的常见架构,了解如何构建一个高可用、可扩展的企业级应用架构。
MySQL数据库入门学习
本课程通过最流行的开源数据库MySQL带你了解数据库的世界。 &nbsp; 相关的阿里云产品:云数据库RDS MySQL 版 阿里云关系型数据库RDS(Relational Database Service)是一种稳定可靠、可弹性伸缩的在线数据库服务,提供容灾、备份、恢复、迁移等方面的全套解决方案,彻底解决数据库运维的烦恼。 了解产品详情:&nbsp;https://www.aliyun.com/product/rds/mysql&nbsp;
相关文章
|
XML Java 数据格式
SpringBoot入门(8) - 开发中还有哪些常用注解
SpringBoot入门(8) - 开发中还有哪些常用注解
156 0
|
8月前
|
前端开发 Java 关系型数据库
基于Java+Springboot+Vue开发的鲜花商城管理系统源码+运行
基于Java+Springboot+Vue开发的鲜花商城管理系统(前后端分离),这是一项为大学生课程设计作业而开发的项目。该系统旨在帮助大学生学习并掌握Java编程技能,同时锻炼他们的项目设计与开发能力。通过学习基于Java的鲜花商城管理系统项目,大学生可以在实践中学习和提升自己的能力,为以后的职业发展打下坚实基础。技术学习共同进步
526 7
|
8月前
|
人工智能 Java 数据库
飞算 JavaAI:革新电商订单系统 Spring Boot 微服务开发
在电商订单系统开发中,传统方式耗时约30天,需应对复杂代码、调试与测试。飞算JavaAI作为一款AI代码生成工具,专注于简化Spring Boot微服务开发。它能根据业务需求自动生成RESTful API、数据库交互及事务管理代码,将开发时间缩短至1小时,效率提升80%。通过减少样板代码编写,提供规范且准确的代码,飞算JavaAI显著降低了开发成本,为软件开发带来革新动力。
|
6月前
|
Java 数据库连接 数据库
Spring boot 使用mybatis generator 自动生成代码插件
本文介绍了在Spring Boot项目中使用MyBatis Generator插件自动生成代码的详细步骤。首先创建一个新的Spring Boot项目,接着引入MyBatis Generator插件并配置`pom.xml`文件。然后删除默认的`application.properties`文件,创建`application.yml`进行相关配置,如设置Mapper路径和实体类包名。重点在于配置`generatorConfig.xml`文件,包括数据库驱动、连接信息、生成模型、映射文件及DAO的包名和位置。最后通过IDE配置运行插件生成代码,并在主类添加`@MapperScan`注解完成整合
1091 1
Spring boot 使用mybatis generator 自动生成代码插件
|
9月前
|
缓存 NoSQL Java
基于SpringBoot的Redis开发实战教程
Redis在Spring Boot中的应用非常广泛,其高性能和灵活性使其成为构建高效分布式系统的理想选择。通过深入理解本文的内容,您可以更好地利用Redis的特性,为应用程序提供高效的缓存和消息处理能力。
815 79
|
7月前
|
供应链 JavaScript BI
ERP系统源码,基于SpringBoot+Vue+ElementUI+UniAPP开发
这是一款专为小微企业打造的 SaaS ERP 管理系统,基于 SpringBoot+Vue+ElementUI+UniAPP 技术栈开发,帮助企业轻松上云。系统覆盖进销存、采购、销售、生产、财务、品质、OA 办公及 CRM 等核心功能,业务流程清晰且操作简便。支持二次开发与商用,提供自定义界面、审批流配置及灵活报表设计,助力企业高效管理与数字化转型。
637 2
ERP系统源码,基于SpringBoot+Vue+ElementUI+UniAPP开发
|
6月前
|
SQL Java 数据库
解决Java Spring Boot应用中MyBatis-Plus查询问题的策略。
保持技能更新是侦探的重要素质。定期回顾最佳实践和新技术。比如,定期查看MyBatis-Plus的更新和社区的最佳做法,这样才能不断提升查询效率和性能。
263 1
|
6月前
|
Java API 微服务
Java 21 与 Spring Boot 3.2 微服务开发从入门到精通实操指南
《Java 21与Spring Boot 3.2微服务开发实践》摘要: 本文基于Java 21和Spring Boot 3.2最新特性,通过完整代码示例展示了微服务开发全流程。主要内容包括:1) 使用Spring Initializr初始化项目,集成Web、JPA、H2等组件;2) 配置虚拟线程支持高并发;3) 采用记录类优化DTO设计;4) 实现JPA Repository与Stream API数据访问;5) 服务层整合虚拟线程异步处理和结构化并发;6) 构建RESTful API并使用Springdoc生成文档。文中特别演示了虚拟线程配置(@Async)和StructuredTaskSco
729 0
|
9月前
|
人工智能 自然语言处理 前端开发
20分钟上手DeepSeek开发:SpringBoot + Vue2快速构建AI对话系统
本文介绍如何使用Spring Boot3与Vue2快速构建基于DeepSeek的AI对话系统。系统具备实时流式交互、Markdown内容渲染、前端安全防护等功能,采用响应式架构提升性能。后端以Spring Boot为核心,结合WebFlux和Lombok开发;前端使用Vue2配合WebSocket实现双向通信,并通过DOMPurify保障安全性。项目支持中文语义优化,API延迟低,成本可控,适合个人及企业应用。跟随教程,轻松开启AI应用开发之旅!
|
9月前
|
XML Java 数据库连接
微服务——SpringBoot使用归纳——Spring Boot集成MyBatis——基于注解的整合
本文介绍了Spring Boot集成MyBatis的两种方式:基于XML和注解的形式。重点讲解了注解方式,包括@Select、@Insert、@Update、@Delete等常用注解的使用方法,以及多参数时@Param注解的应用。同时,针对字段映射不一致的问题,提供了@Results和@ResultMap的解决方案。文章还提到实际项目中常结合XML与注解的优点,灵活使用两者以提高开发效率,并附带课程源码供下载学习。
718 0