首页 > 其他分享 >了解MyBatis-Plus&Druid数据源

了解MyBatis-Plus&Druid数据源

时间:2024-09-04 16:51:36浏览次数:14  
标签:数据源 生成 Plus MyBatis 注解 Lombok 构造函数

MyBatis-Plus简介

MyBatis-Plus(简称MP)是一个MyBatis的增强工具,它在MyBatis的基础上进行了增强而不改变其原有的功能,旨在简化开发、提高效率。以下是对MyBatis-Plus的详细简介:

一、基本概述

  • 定义:MyBatis-Plus是在MyBatis基础上进行增强的一个框架,通过提供一系列的特性和工具,极大地简化了CRUD(创建、读取、更新、删除)操作和其他数据库交互的复杂性。
  • 目标:为开发者提供更加便捷、高效的数据库操作方式,减少重复性代码编写,提高开发效率。

二、主要特性

  1. 无侵入:MyBatis-Plus的引入不会对现有工程产生影响,它只做增强而不做改变,使得集成和使用变得非常简单。
  2. 损耗小:启动即会自动注入基本CRUD,性能基本无损耗,直接面向对象操作,BaseMapper接口中包含了大量的基本CRUD方法。
  3. 强大的CRUD操作
    • 内置通用Mapper和通用Service,通过少量配置即可实现单表大部分CRUD操作。
    • 强大的条件构造器,支持链式调用,满足各类复杂的查询需求。
  4. 支持Lambda形式调用:通过Lambda表达式,可以方便地编写各类查询条件,无需担心字段写错。
  5. 支持主键自动生成:支持多达4种主键策略(包括分布式唯一ID生成器),可自由配置,完美解决主键问题。
  6. 支持ActiveRecord模式:实体类只需继承Model类即可进行强大的CRUD操作。
  7. 内置代码生成器:采用代码或Maven插件可快速生成Mapper、Model、Service、Controller层代码,支持模板引擎,提供了丰富的自定义配置选项。
  8. 内置分页插件:基于MyBatis物理分页,开发者无需关心具体操作,配置好插件之后,写分页等同于普通List查询。分页插件支持多种数据库。
  9. 内置性能分析插件:可输出SQL语句及其执行时间,帮助开发者快速定位慢查询。
  10. 内置全局拦截插件:提供全表delete、update操作智能分析阻断功能,也可自定义拦截规则,预防误操作。

三、与MyBatis的区别

  • 语法简化:MyBatis-Plus通过使用注解和API简化了MyBatis的配置和操作,减少了开发者的编码量。
  • 自动代码生成:MyBatis-Plus提供了代码生成器,可以根据数据库表自动生成对应的实体类、Mapper接口和Mapper XML文件,减少了手动编写的工作量。
  • 分页插件:MyBatis-Plus内置了分页插件,而MyBatis本身需要手动编写分页逻辑。
  • 条件查询:MyBatis-Plus提供了强大的条件查询功能,支持链式调用和Lambda表达式,使得查询条件更加清晰易读。

四、应用场景

MyBatis-Plus广泛应用于各种需要数据库交互的Java项目中,特别是在企业级应用开发中,其强大的功能和便捷的操作方式极大地提高了开发效率。

综上所述,MyBatis-Plus是一个功能强大、易于使用的MyBatis增强工具,它通过提供一系列特性和工具,简化了数据库操作,提高了开发效率。

Lormbok简介

Lombok是一款Java编程工具,其主要作用在于简化Java代码的编写,提高开发效率。具体来说,Lombok的作用可以归纳为以下几点:

  1. 自动生成常用方法
    • Getter和Setter方法:通过在类的属性上添加@Getter@Setter注解,Lombok可以自动生成这些属性的getter和setter方法,减少了手动编写这些方法的必要。
    • toString方法@ToString注解可以自动生成包含所有(非静态)属性名称和值的toString方法,方便调试和日志记录。
    • equals和hashCode方法@EqualsAndHashCode注解可以自动生成equalshashCode方法,这对于需要将对象用作哈希表键或比较对象是否相等时非常有用。
  2. 自动生成构造函数
    • 无参构造函数@NoArgsConstructor注解可以自动生成一个无参构造函数。
    • 全参构造函数@AllArgsConstructor注解可以自动生成一个包含所有属性作为参数的构造函数,简化了对象的创建过程。
    • 特定参数构造函数:虽然Lombok本身不直接支持生成特定参数的构造函数,但可以通过其他方式(如使用@ConstructorProperties注解结合Lombok的@Accessors(chain = true)等)来间接实现。
  3. 支持建造者模式
    • 通过@Builder注解,Lombok可以自动生成建造者模式的代码,使得创建复杂对象的过程更加灵活和易于理解。
  4. 日志支持
    • @Slf4j@Log4j2等注解可以自动生成日志变量(如log),方便在代码中记录日志。
  5. 减少样板代码
    • Lombok通过自动生成这些常用的方法和构造函数,显著减少了Java代码中的样板代码(boilerplate code),使代码更加简洁和易于维护。
  6. 提高开发效率
    • 开发人员可以专注于业务逻辑的实现,而不是花费大量时间在编写和维护这些重复的代码上,从而提高了开发效率。

需要注意的是,Lombok仅在编译时起作用,不会对运行时的代码产生影响。生成的代码会在编译时自动插入到编译后的类文件中。此外,由于Lombok通过注解来工作,因此它依赖于IDE(如IntelliJ IDEA、Eclipse等)中的Lombok插件来解析这些注解并生成相应的代码。

综上所述,Lombok是一个强大的Java编程工具,它通过自动生成常用方法和构造函数、支持建造者模式、提供日志支持等功能,显著简化了Java代码的编写过程,提高了开发效率。

运行编译环节的注解处理

快速上手

标签:数据源,生成,Plus,MyBatis,注解,Lombok,构造函数
From: https://blog.csdn.net/2303_78378466/article/details/141898016

相关文章

  • Mybatis/Plus 分页查询
     分页查询的原理是通过将大数据量集分割成较小的部分来返回结果,以减少一次性加载和显示的数量。接受分页参数:在分页查询中,通常会接收两个关键的参数——当前页码(current)和每页显示的数据量(size)。这些参数决定了用户希望查看哪一部分数据。计算偏移量:根据当前页码和每页显示数......
  • MyBatis 源码解析:DefaultSqlSession 功能解析
    摘要DefaultSqlSession是MyBatis中的核心类,负责执行SQL语句和管理事务。在日常开发中,我们经常会通过SqlSession来执行数据库的增删改查操作。你是否想深入了解DefaultSqlSession的内部实现机制?本文将通过自定义实现一个DefaultSqlSession类,带你全面解析MyBatis......
  • Mybatis学习笔记
    本笔记基于【尚硅谷新版SSM框架全套视频教程,Spring6+SpringBoot3最新SSM企业级开发】https://www.bilibili.com/video/BV1AP411s7D7?vd_source=a91dafe0f846ad7bd19625e392cf76d8总结资料获取网址:https://www.wolai.com/v5Kuct5ZtPeVBk4NBUGBWFMyBatis实践:提高持久层数据......
  • mybatis-plus批量增加、批量修改样例+建表语句+postman接口
    使用mybatis-plus开发中会遇到数据量多的情况下,插入和修改效率低,主要原因是“新增“和“修改”方法是对一条数据进行处理的,如果有一万条数据就会和数据库交互一万次所以效率就低。如何提高效率就需要批量操作,如下展示批量插入和批量修改的代码,数据库使用mysql。1、建表语句CREA......
  • MyBatis 一级缓存原理
    优质博文:IT-BLOG-CN一、一级缓存配置MyBatis一级缓存默认是开启的。如果需要显示的开启,需要在MyBaits配置文件中<settings>标签中添加如下语句:<settings> <settingname="localCacheScope"value="SESSION"/></settings>value共有两个选项,SESSION或者STATEMENT,默认是......
  • 【Spring Boot】整合MyBatis
    **整合MyBatis**前言SpringBoot和MyBatis都是非常流行的Java框架。SpringBoot简化了Spring应用的开发,而MyBatis则是一个优秀的持久层框架,支持自定义SQL、存储过程以及高级映射。mybatis官方文档:http://mybatis.org/spring-boot-starter/myba......
  • SpringBoot3.x+MyBatisPlus+druid多数据源配置
    1引言本章主要介绍SpringBoot3.x多数据源配置,以及在此基础上配置分页拦截,自动填充功等功能,源码链接在文章最后。下面列出几个重要文件进行介绍。2项目结构整体项目结构如下,主要介绍配置文件和配置类。3主要代码3.1pom.xml注意SpringBoot3.x对应依赖为mybatis-plu......
  • TapData 信创数据源 | 国产信创数据库 Vastbase 数据同步指南,加速国产化进程,推进自主
    随着国家对自主可控的日益重视,目前在各个行业和区域中面临越来越多的国产化,采用有自主知识产权的国产数据库正在成为主流。长期以来,作为拥有纯国产自研背景的TapData,自是非常重视对于更多国产信创数据库的数据连接器支持,旗下产品已陆续与阿里云、华为云、麒麟软件、优炫数据库、A......
  • SpringBoot项目常用配置文件MybatisPlusConfig、RedisConfig、RedissonConfig、Swagge
    MybatisPlusConfig:@Configuration@MapperScan("com.yupi.usercenter.mapper")publicclassMybatisPlusConfig{@BeanpublicMybatisPlusInterceptormybatisPlusInterceptor(){MybatisPlusInterceptorinterceptor=newMybatisPlusInterc......
  • Vite2.0+ElementPlus+Koa2+Mongo全栈开发通用后台系统Vue3
    Vite2.0+ElementPlus+Koa2+Mongo全栈开发通用后台系统Vue3前言当前基于NodeJs框架的全栈工程实践非常之火,作为一个很长时间未接触代码的前程序猿。一直有点手痒痒,想尝试一下这种全新的编程体验,于是就重新开始了填坑的不归之路。这一套框架是基于现在的前后台分离的指导原则来......