Mybatis-Plus介绍

目录

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

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

Springboot项目集成短信验证码(超简单)

操作流程 注册验证码平台创建验证码模版开始集成&#xff08;无需引入第三方库&#xff09; 注册并登陆中昱维信验证码平台 获取AppID和AppKey。 创建验证码模版 创建验证码模版&#xff0c;获取验证码模版id 开始集成 创建controller import org.springframework.web.bi…

跨域引起的两个接口的session_id不是同一个

来源场景&#xff1a; RequestMapping(“/captcha”)接口设置了SESSION_KEY&#xff0c;也能获取到&#xff0c;但是到了PostMapping(“/login”)接口就是空的&#xff0c;由于跨域导致的两个session_id不是同一个 /*** 系统用户 前端控制器*/ Controller CrossOrigin(origins…

自定义el-dialog的样式

实现效果&#xff1a; 样式代码如下&#xff1a;&#xff08;可以写在common.scss文件夹中&#xff09; .el-dialog__header {padding: 16px 20px;border-bottom: 1px solid #DCDFE6;display: flex;align-items: center;.el-dialog__title {font-size: 16px;position: relativ…

MySQL(基础篇)——事务

一.事务简介 事务是一组操作的集合&#xff0c;他是一个不可分割的单位&#xff0c;事务会把所有的操作作色一个整体一起向系统提交或撤销操作请求&#xff0c;即这些操作要么同时成功&#xff0c;要么同时失败。 默认MySQL的事务是自动提交的&#xff0c;也就是说&#xff0c…

在VMware中安装CentOS 7并配置Docker

VMware安装CentOS 7 一、介绍 该文章介绍如何使用启动U盘在虚拟机里面安装系统&#xff0c;虚拟机版本为VMware Workstation 16 pro&#xff0c;Linux版本为CentOS Linux release 7.9.2009 (Core)。 二、安装 1、创建虚拟机 点击创建新的虚拟机 选择典型就可以了&#xf…

spring-boot static-path-pattern如何配置生效

WebMvcAutoConfiguration AbstractUrlHandlerMapping ResourceHttpRequestHandler springboot 版本 2.3.9.RELEASE 一、如何用 yaml配置 spring:mvc:static-path-pattern: /doctest/**resources:static-locations: classpath:/doc/资源文件配置 访问路径 二、原理 第一个问…

幻兽帕鲁联机服务器搭建

幻兽帕鲁联机服务器搭建 开通云服务器 云主机购买|香港云服务器|香港云主机|美国云服务器|弹性云主机租用尽在-特网科技 建议选择4核心 16G内存 10M带宽&#xff0c;可满足6-15人游玩 下载安装脚本 windows系统: 下载 http://downinfo.myhostadmin.net/palserver/install…

List集合的Stream流式操作实现数据类型转换

问题现象&#xff1a; 最近在项目中&#xff0c;有一些逻辑想用List集合的Stream流式操作来快速实现&#xff0c;但由于之前没做好学习笔记和总结&#xff0c;导致一时间想不起来&#xff0c;只能用本方法来解决&#xff0c;如下&#xff1a; 可以看出来代码量是比较冗长的&…

day57 集合 List Set Map

List实现类 List接口特点&#xff1a;元素有序 可重复 Arraylist 可变数组 jdk 8 以前Arraylist容量初始值10 jdk8 之后初始值为0&#xff0c;添加数据时&#xff0c;容量为10&#xff1b; ArrayList与Vector的区别&#xff1f; LinkList&#xff1a;双向链表 优点&#xff1…

服务器权限:Error: EACCES: permission denied, open‘/Cardiac/uniquC.csv

背景&#xff1a; 我想在服务器上传一个文件uniquC.csv&#xff0c;但是服务器说我没有权限 解决方案&#xff1a; 1. 查看目前是否存在对文件夹的权限 ls -ld /Cardiac/ # your fold path 此时&#xff0c;我发现 这也意味着root也没有赋予写的权限。 2. 拿到root权限 …

软件设计师软考题目解析10 --每日五题

想说的话&#xff1a;要准备软考了。0.0&#xff0c;其实我是不想考的&#xff0c;但是吧&#xff0c;由于本人已经学完所有知识了&#xff0c;只是被学校的课程给锁在那里了&#xff0c;不然早找工作去了。寻思着反正也无聊&#xff0c;就考个证玩玩。 本人github地址&#xf…

C++基于多设计模式下的同步异步日志系统day1

C基于多设计模式下的同步&异步日志系统day1 &#x1f4df;作者主页&#xff1a;慢热的陕西人 &#x1f334;专栏链接&#xff1a;C基于多设计模式下的同步&异步日志系统 &#x1f4e3;欢迎各位大佬&#x1f44d;点赞&#x1f525;关注&#x1f693;收藏&#xff0c;&am…

死记硬背spring bean 的生命周期

1.bean的生命周期 我们平常经常使用类似于new Object()的方式去创建对象&#xff0c;在这个对象没有任何引用的时候&#xff0c;会被gc给回收掉。而对于spring而言&#xff0c;它本身存在一个Ioc容器&#xff0c;就是用来管理对象的&#xff0c;而对象的生命周期也完全由这个容…

67-箭头函数,new.target,模版字符串

1.箭头函数 ES6新增语法&#xff0c;用来简化函数的书写()>{} <script>//箭头函数的基本使用let a (a,b)>{return ab;}let c a(1,2);console.log(c);//输出3</script> 2.简写形式&#xff1a; 2.1参数&#xff1a;只有一个参数时可以省略小括号a>{}&…

Java Stream 流?看这一篇就够了!

大家好&#xff0c;从我开始写博客也过去半年多了&#xff0c;c 站陪我走过了学习 Java 最艰苦的那段时光&#xff0c;也非常荣幸写的博客能得到这么多人的喜欢。 某一天当我开始学习分布式的时候突然想到这可能是补充 Java 知识拼图的最后几块部分了&#xff0c;为了将前面的知…

《springcloud alibaba》 三 sentinel流量控制

目录 sentinel准备流控规则 qpspom.xmlapllication.yml启动类controller查看结果流控提示不太友好 流控规则 线程数全局异常处理pom.xmlapplication.yml启动类实体类controller类异常类测试 关联流控模式关联jmeter 链路servicecontroller代码调整 流控效果Warm UP 熔断降级规则…

idea项目中文乱码

背景&#xff1a; 从gitee下download了项目发现配置值文件application.properies中出现了乱码&#xff0c;如下 其他文件都正常&#xff0c;例如 解决&#xff1a; 不要 忘记 ok 解决后配置文件 application.properties

2.1 表结构数据

1、表结构数据 字段&#xff1a;整列数 记录&#xff1a;整行数 维度&#xff1a;业务角度 度量&#xff1a;业务行为结果 维度字段&#xff1a;文本型&#xff08;状态&#xff09; 度量字段&#xff1a;数值型&#xff08;交易结果&#xff09; 2、事实表&维度表 维度表…

ubuntu22.04安裝mysql8.0

官网下载mysql&#xff1a;MySQL :: Download MySQL Community Server 将mysql-server_8.0.20-2ubuntu20.04_amd64.deb-bundle.tar上传到/usr/local/src #解压压缩文件 tar -xvf mysql-server_8.0.20-2ubuntu20.04_amd64.deb-bundle.tar解压依赖包依次输入命令 sudo dpkg -i m…

基于springboot+vue的纺织品企业财务管理系统

博主主页&#xff1a;猫头鹰源码 博主简介&#xff1a;Java领域优质创作者、CSDN博客专家、阿里云专家博主、公司架构师、全网粉丝5万、专注Java技术领域和毕业设计项目实战&#xff0c;欢迎高校老师\讲师\同行交流合作 ​主要内容&#xff1a;毕业设计(Javaweb项目|小程序|Pyt…