this关键字 当⼀个对象创建后,JVM会给这个对象分配⼀个引⽤⾃身的指针,这个指针的名字就是 this 只能⽤于⾮静态⽅法体内,静态⽅法和代码块不能出现this this就是指向当前对象本身 使⽤场景 this(参数类型1 参数名,…) 表示当前类对应的构造函数 ⽅法形参和对象的属性重名,⽤this来区分 123public void setAge(int age){ this.age = age;}
官网地址 https://baomidou.com/ 简介 MyBatis-Plus 是一个 MyBatis 的增强工具,在 MyBatis 的基础上只做增强不做改变,为简化开发、提高效率而生。 特性 无侵入:只做增强不做改变,引入它不会对现有工程产生影响,如丝般顺滑 损耗小:启动即会自动注入基本 CURD,性能基本无损耗,直接面向对象操作 强大的 CRUD 操作:内置通用 Mapper、通用 Service,仅仅通过少量配置即可实现单表大部分 CRUD 操作,更有强大的条件构造器,满足各类使用需求 支持 Lambda 形式调用:通过 Lambda 表达式,方便的编写各类查询条件,无需再
MyBatis-Plus提供了SQL分析与打印的功能,通过集成p6spy组件,可以方便地输出SQL语句及其执行时长。本功能适用于MyBatis-Plus 3.1.0及以上版本。 p6spy简介 p6spy 是一个针对数据库访问进行拦截和记录的工具,它通过代理JDBC驱动程序来工作。这意味着你的应用程序可以像往常一样使用JDBC,而p6spy会在幕后记录所有的SQL语句及其执行时间。这对于开发和调试过程中的SQL优化非常有用。 p6spy不仅限于记录SQL日志,它还提供了一些高级功能,如: 慢SQL检测:通过配置outagedetection和outagedetectioninterval,p
主键生成策略 在 MyBatis-Plus 中,主键生成策略是一个重要的概念,它决定了如何为数据库表中的记录生成唯一的主键值。以下是关于主键生成策略的详细说明和配置方法。 主键生成策略概述 主键生成策略必须使用 INPUT 类型,这意味着主键值需要由用户在插入数据时提供。MyBatis-Plus 支持在父类中定义 @KeySequence 注解,子类可以继承使用。 从版本 3.3.0 开始,MyBatis-Plus 会自动识别主键类型,因此不再需要手动指定主键类型。 MyBatis-Plus 内置支持多种数据库的主键生成策略,包括: 1.DB2KeyGenerator 2.H2KeyGen
依赖引入 Spring Boot3 Maven 12345<dependency> <groupId>com.baomidou</groupId> <artifactId>mybatis-plus-spring-boot3-starter</artifactId> <version>3.5.14</version></dependency> Spring Boot4 (自3.5.13开始) Maven 12345<dependency> <groupI
数据安全保护 MyBatis-Plus 提供了数据安全保护功能,旨在防止因开发人员流动而导致的敏感信息泄露。从3.3.2版本开始,MyBatis-Plus 支持通过加密配置和数据安全措施来增强数据库的安全性。 配置安全 YML 配置加密 MyBatis-Plus 允许你使用加密后的字符串来配置数据库连接信息。在 YML 配置文件中,以 mpw: 开头的配置项将被视为加密内容。 12345spring: datasource: url: mpw:qRhvCwF4GOqjessEB3G+a5okP+uXXr96wcucn2Pev6Bf1oEMZ1gVpPPhdDmjQqoM pa
自动填充字段 MyBatis-Plus 提供了一个便捷的自动填充功能,用于在插入或更新数据时自动填充某些字段,如创建时间、更新时间等。以下是如何使用这一功能的详细说明。 原理概述 自动填充功能通过实现 com.baomidou.mybatisplus.core.handlers.MetaObjectHandler 接口来实现。你需要创建一个类来实现这个接口,并在其中定义插入和更新时的填充逻辑。 使用步骤 定义实体类 在实体类中,你需要使用 @TableField 注解来标记哪些字段需要自动填充,并指定填充的策略。 123456789public class User {
逻辑删除支持 逻辑删除是一种优雅的数据管理策略,它通过在数据库中标记记录为“已删除”而非物理删除,来保留数据的历史痕迹,同时确保查询结果的整洁性。MyBatis-Plus 提供了便捷的逻辑删除支持,使得这一策略的实施变得简单高效。 逻辑删除的工作原理 MyBatis-Plus 的逻辑删除功能会在执行数据库操作时自动处理逻辑删除字段。以下是它的工作方式: 插入:逻辑删除字段的值不受限制。 查找:自动添加条件,过滤掉标记为已删除的记录。 更新:防止更新已删除的记录。 删除:将删除操作转换为更新操作,标记记录为已删除。 例如: 删除:update user set deleted=1 where
docker安装Redis服务 12docker run -d --restart=always --name redis -p 6379:6379--requirepass "9db86db568f66753a9e1497a5e668ae7" docker安装Mysql服务 12345docker run -d --restart=always --name mysql -p 3306:3306 -v /home/data/mysql/data:/var/lib/mysql -v /home/data/mysql/conf.d:/etc/mysql/conf.d -e
什么是构造函数 ⼀种特殊的⽅法 创建对象时⽤来初始化对象,每次使⽤new 创建对象的时候,就会使⽤构造函数与类具有相同的名称,但是没有返回值 Java会⾃动为每个类提供⼀个默认构造函数 如果⾃⼰定义了构造函数,就不再使⽤默认构造函数,如果没有显示的写出默认构造函数,则会消失. INFO 注意点:如果构造函数之间互相调⽤,务必写在⽅法第⼀⾏ 构造函数种类 默认构造函数 12public 类名(){} ⽆参构造函数 123public 类名(){//写⾃定义的语句} 有参构造函数 123public 类名(参数类型1 参数名1,参数类型