Mybatis-Plus介绍

news2024/11/23 22:47:54

目录

一、Mybatis-Plus简介

1.1、介绍

1.2、特性

1.3、架构

1.4、Mybatis-Plus与Mybatis的区别

二、快速入门

2.1、首先创建数据库mybatis-plus

2.2、创建user表

2.3、插入数据

2.4、创建Spring-Boot项目

2.5、添加依赖

2.6、连接数据库


一、Mybatis-Plus简介

1.1、介绍

MyBatis-PlusMyBatis-Plus 官方文档icon-default.png?t=N7T8https://baomidou.com/

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

1.2、特性

  1. 简化CRUD操作:MyBatis-Plus提供了通用的Mapper接口和通用的Service接口,简化了常见的CURD操作。无需编写XML文件和手动编写SQL语句,只需继承通用Mapper接口或Service接口,即可使用常见的CRUD方法。

  2. 自动生成代码:MyBatis-Plus可以根据数据库表自动生成实体类、Mapper接口和XML文件,大大减少了手动编写代码的工作量。

  3. 支持分页查询:MyBatis-Plus提供了分页插件,可以在查询数据时直接指定分页参数,方便进行分页查询。

  4. 条件构造器:MyBatis-Plus提供了条件构造器,可以通过链式调用的方式生成查询条件,使得查询条件更加清晰易读。

  5. 代码生成器:MyBatis-Plus内置了一个代码生成器,可以根据数据库表自动生成实体类、Mapper接口和XML文件,大大提高了开发效率。

  6. 乐观锁支持:MyBatis-Plus提供了乐观锁的支持,可以在更新数据时进行版本校验,避免数据冲突问题。

  7. SQL注入器:MyBatis-Plus提供了一个强大的SQL注入器,支持自定义的全局SQL方法,可以实现一些复杂的SQL查询需求。

  8. 自动填充:MyBatis-Plus提供了自动填充功能,可以在插入或更新数据时自动填充某些字段,如创建时间和更新时间等。

  9. 多租户支持:MyBatis-Plus提供了多租户的支持,可以在查询数据时自动根据租户ID添加过滤条件,实现多租户数据隔离。

1.3、架构

1.4、Mybatis-Plus与Mybatis的区别

  1. 语法简化:Mybatis-Plus通过使用注解和API简化了Mybatis的配置和操作,减少了开发者的编码量。

  2. 自动代码生成:Mybatis-Plus提供了代码生成器,可以根据数据库表生成对应的实体类、mapper接口和mapper XML文件,减少了手动编写的工作量。

  3. 分页插件:Mybatis-Plus内置了分页插件,可以方便地进行分页查询。

  4. 条件查询:Mybatis-Plus提供了强大的条件查询功能,可以通过链式调用的方式进行复杂的查询操作。

  5. 通用CRUD操作:Mybatis-Plus提供了通用的CRUD操作方法,可以简化对数据库的增删改查操作。

  6. 逻辑删除:Mybatis-Plus支持逻辑删除,可以通过在表中添加一个标记字段来实现逻辑删除功能。

  7. 自动填充:Mybatis-Plus提供了自动填充功能,可以在插入或更新操作时自动填充某些字段的值,如创建时间、更新时间等。

二、快速入门

2.1、首先创建数据库mybatis-plus

2.2、创建user表

2.3、插入数据

2.4、创建Spring-Boot项目

2.5、添加依赖

<!--MySQL驱动-->
<dependency>
    <groupId>mysql</groupId>
    <artifactId>mysql-connector-java</artifactId>
    <!-- 可通过version设置版本号 -->
</dependency>

<!-- lombok -->
<dependency>
    <groupId>org.projectlombok</groupId>
    <artifactId>lombok</artifactId>
</dependency>

<!-- mybatisplus -->
<dependency>
    <groupId>com.baomidou</groupId>
    <artifactId>mybatis-plus-boot-starter</artifactId>
    <version>3.0.5</version>
</dependency>

2.6、连接数据库

# 数据库8.版本需要加上cj
spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver
spring.datasource.url=jdbc:mysql://localhost:3306/springboot?useUnicode=true&characterEncoding=UTF-8&useJDBCCompliantTimezoneShift=true&useLegacyDatetimeCode=false&serverTimezone=GMT%2B8
spring.datasource.username=root
spring.datasource.password=root

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1489384.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

内网穿透的应用-如何修改Nginx服务location代理转发规则结合cpolar实现无公网ip环境访问内网站点

文章目录 1. 下载windows版Nginx2. 配置Nginx3. 测试局域网访问4. cpolar内网穿透5. 测试公网访问6. 配置固定二级子域名7. 测试访问公网固定二级子域名 1. 下载windows版Nginx 进入官方网站(http://nginx.org/en/download.html)下载windows版的nginx 下载好后解压进入nginx目…

北京大学发布,将试错引入大模型代理学习!

引言&#xff1a;探索语言智能的新边界 在人工智能的发展历程中&#xff0c;语言智能始终是一个核心的研究领域。随着大语言模型&#xff08;LLM&#xff09;的兴起&#xff0c;我们对语言智能的理解和应用已经迈入了一个新的阶段。这些模型不仅能够理解和生成自然语言&#x…

什么是杠杆?WeTrade众汇这样举例,大家都明白

杠杆是投资交易者一定要知道的一个金融术语。那么什么是杠杆呢?下面WeTrade众汇就用苹果进行举例&#xff0c;大家就都会明白&#xff0c;原来如此简单。 发挥我们投资者的想象&#xff0c;我们现在要进行一场苹果的买卖&#xff0c;能够赚钱的本质就是高买低卖&#xff0c;所…

快速搭建Vue前端框架

快速搭建Vue前端框架 安装Vue Vue官方安装过程:https://cli.vuejs.org/zh/guide/installation.html 二.创建Vue工程 2.2 安装淘宝镜像 安装淘宝镜像&#xff08;会让你安装Vue的速度加快&#xff09;&#xff1a; npm config set registry https://registry.npm.taobao.or…

Java进阶(锁)——锁的升级,synchronized与lock锁区别

目录 引出Java中锁升级synchronized与lock锁区别 缓存三兄弟&#xff1a;缓存击穿、穿透、雪崩缓存击穿缓存穿透缓存雪崩 总结 引出 Java进阶&#xff08;锁&#xff09;——锁的升级&#xff0c;synchronized与lock锁区别 Java中锁升级 看一段代码&#xff1a; public class…

IDE插件-通义灵码-用AI写代码

安装tongyi插件 右边就出现这个插件了&#xff0c;用支付宝账号登录成功后就出现一个AI机器人了 选中代码右键就能看到他的常规功能 提问模式 智能代码联想&#xff0c;根据你上一句代码&#xff0c;点回车&#xff0c;等一会&#xff0c;自动给你下语句想要的代码&#xff0c;…

【毕业论文小记】从Peer下载到近断层脉冲地震动生成——基于一个完全免费的地震波生成Python程序

如果因为TA和游戏相关关注我的朋友们&#xff0c;看到这篇可以不用继续往下看了啊啊啊啊&#xff01;不是跑路了不是跑路了&#xff01;毕业论文需要&#xff08;本专业土木人的心酸&#xff09;&#xff01;&#xff01; 在写毕业论文的时候&#xff0c;进行近断层脉冲地震动…

cleanmymacX破解版2024最新版下载

摘要 对于很多Mac用户来说&#xff0c;知您网分享的CleanMyMac X Mac破解版是大家首选的优秀Mac清理软件。由于它强大的功能&#xff0c;让大量新老用户所折服。作为老牌开发商制作的优秀应用&#xff0c;CleanMyMac X破解版几乎满足用户所有的清理需求。这款清理软件不仅包含…

OpenShift AI - 部署并使用 LLM 模型

《OpenShift / RHEL / DevSecOps 汇总目录》 说明&#xff1a;本文已经在 OpenShift 4.15 RHODS 2.7.0 的环境中验证 文章目录 安装 OpenShift AI 环境安装 Minio 对象存储软件配置 Single Model Serving 运行环境创建项目和 Workbench准备模型和配置 Model Server访问 LLM 模…

python-分享篇-生成仿微信公众号推广的个性二维码(支持动态)

代码 生成仿微信公众号推广的个性二维码&#xff08;支持动态&#xff09;from MyQR import myqr # 要生成动态二维码&#xff0c;只需要将piture参数和save_name参数设置gif动图即可 myqr.run(wordshttps://blog.csdn.net/stqer/article/details/135553200, # 指定二维码包含…

制药企业制药设备如何进行设备维护与设备管理

在制药企业的生产中&#xff0c;制药设备的维护与管理是保障整个生产链顺利运转的重要环节。制药行业面临着诸多挑战&#xff0c;尤其是在涉及众多化学药品的生产过程中&#xff0c;对设备的要求更为严格。为了确保企业的稳健发展&#xff0c;制药企业需采取一系列措施&#xf…

ensp路由器将不同网络连通在一起

1.拓扑结构信息如下 二层交换机&#xff1a;lsw2,lsw3,lsw5,lsw6 不进行ip配置&#xff0c;只是定义vlan&#xff0c;和主机标注的保持一致&#xff0c;向下连接pc用access&#xff0c;向上连接路由交换机用trunk lsw2配置信息如下图 定义vlan&#xff0c;设置各个连接口的方式…

FreeRTOS学习笔记-基于stm32f103(1)基础知识

一、裸机与RTOS 我们使用的32板子是裸机&#xff0c;又称前后台系统。裸机有如下缺点&#xff1a; 1、实时性差。只能一步一步执行任务&#xff0c;比如在一个while循环中&#xff0c;要想执行上一个任务&#xff0c;就必须把下面的任务执行完&#xff0c;循环一遍后才能执行…

智能风控体系之基于IC值因子有效性研究

在量化金融股市市场中&#xff0c;因子有效性的检验是经常被提及的。实际上对于多因子量化选股模型的有效性分析&#xff0c;更有指导参考意义的指标应该观察看的IC和IR。 因子评价4大维度&#xff1a; 1.因子单调性&#xff1a;因子单调性越高&#xff0c;收益越强。 2.因子…

笔记74:在SLAM建图过程中,为什么要使用【障碍物点云配准算法】和【里程计估算算法】结合的方法

仅使用【障碍物点云配准算法】&#xff0c;很容易导致在一条长通道中&#xff0c;因为前后两帧的雷达点云图过于相似&#xff0c;导致特征匹配一直完全重合&#xff0c;使得机器人建图一直停留在原地&#xff0c;但实体机器人早就沿着通道跑向远端了&#xff1b; 使用Hector_ma…

三范式与ER模型

三范式 概念&#xff1a; 三范式&#xff08;3NF&#xff09;是关系型数据库设计理论的基础&#xff0c;它确保数据的结构化和减少数据的冗余性。三范式由数学家E.F. Codd在1970年提出&#xff0c;作为关系理论的一部分。三范式包括&#xff1a; 第一范式&#xff08;1NF&am…

182基于matlab的半监督极限学习机进行聚类

基于matlab的半监督极限学习机进行聚类&#xff0c;基于流形正则化将 ELM 扩展用于半监督&#xff0c;三聚类结果可视化输出。程序已调通&#xff0c;可直接运行。 182matlab ELM 半监督学习 聚类 模式识别 (xiaohongshu.com)

我的NPI项目之Android 安全系列 -- Keymaster到底是个什么

最近因为一直在调研独立secure element集成的工作&#xff0c;不巧的是目前使用的高通平台只有NFC-eSE的方案。高通目前也并不支持独立的eSE集成&#xff0c;codebase中并无相对应的代码。举个例子&#xff0c;目前使用的STM的一款eSE&#xff0c;但是这款eSE的开发STM还没有完…

Mint_21.3 drawing-area和goocanvas的FB笔记(三)

一、改变goocanvas线条自动画线时间间隔 通过系统SIGALRM信号触发&#xff0c;每秒画一条线对于慢温湿度等慢变信号可以应付&#xff0c;但对于快速信号1秒的间隔就太慢了。可以改变方式&#xff0c;通过另外的线程&#xff0c;完成要做的任务。 1. 线程的回调函数 myfunc 2…

串的定义及BF算法

定义 BF算法——朴素查找算法——也叫做串的模式匹配算法 其应用特别多&#xff0c;比如经常在一篇文章里面搜索一些东西&#xff0c;&#xff08;比如文章里的某个内容&#xff0c;或某些关键字词出现的位置&#xff0c;次数等&#xff09; 之前我们大多数情况下是用来搜索关…