SpringBoot的Mybatis-plus实战之基础知识

文章目录

在SpringBoot项目中使用Mybatis-plus,记录下来,方便备查。

MybatisPlus 介绍

为简化开发而生,官网:帮助文档

一、MyBatisPlus 集成步骤

主要是引入依赖和定义Mapper的继承

第一步、引入依赖

在pom文件中引入mybatis-plus依赖

powershell 复制代码
<dependency>
    <groupId>com.baomidou</groupId>
    <artifactId>mybatis-plus-boot-starter</artifactId>
    <version>3.5.3.1</version>
</dependency>

第二步、定义mapper

自定义的Mapper集成MybatisPlus提供的BaseMapper提供的接口。

MybatisPlus 通过扫描实体类,并基于反射获取实体类的信息作为数据库表信息。

java 复制代码
import com.baomidou.mybatisplus.core.mapper.BaseMapper;

public interface UserMapper extends BaseMapper<User>{
}

反射原则

类名驼峰转下划线作为表名;

名为id的字段作为主键;

变量名驼峰转下划线作为表的字段名

二、注解

@TableName

顾名思义,用来指定表名

@Tableld

用来指定表中的主键字段信息

@TableId(value="id",type=)
AUTO 数据库自增,如 type=IdType.AUTO
INPUT 通过set方法自行输入
ASSIGN_ID 分配ID,接口IdentifierGenerator 的方法nextId来生成id,默认实现类是DefaultIdentifierGenerator雪花算法

@TableField

用来执行表中普通字段信息

成员变量名与数据库字段名不一致

成员变量名以is开头,且是布尔值

成员变量不是数据库字段,exit=false

三、配置文件

使用MybatisPlus时,可在properties文件中设置

powershell 复制代码
mybatis-plus:
  type-aliases-package: cn.henu.mp.domain.po #别名扫描包
  mapper-location:"clsspath*:/mapper/*.xml" #xml文件地址
  configuration:
    map-underscore-to-camel-case:true #是否开启下划线和驼峰映射
    cache-enabled:false #是否开启二级缓存
   global-config:
     db-config:
       id-type:assign-id #雪花算法
       undate-strategy:not_null #更新策略,只更新非空字段

四、加解密

实现步骤

第一步、在@TableName注解中添加 autoResultMap=true;

第二步、在加密字段 @TableField注解添加 typeHandler = AESEncryptHandler.class

以上两步,即可实现加解密。

相关推荐
Profile排查笔记38 分钟前
指纹浏览器哪个好?从 Profile、代理、权限和自动化能力判断是否适合
前端·人工智能·后端·自动化
用户938515635071 小时前
用 AI 结对编程从 0 搭一个"单词后台管理系统":Next.js + Supabase + Drizzle + shadcn/ui 全记录
后端·postgresql·next.js
爱学习的小邓同学1 小时前
Golang --- (1)第一个Golang程序
开发语言·后端·golang
小灰灰搞电子2 小时前
Rust+Slint 实现的“DNA双螺旋”加载动画源码分享
后端·rust·slint·加载动画
面向Google编程3 小时前
向量库不再囤数据:Milvus 3.0 零拷贝直读数据湖
后端
gugucoding4 小时前
59. 【Java】Spring Boot 入门:第一个 Web 应用
java·开发语言·spring boot
IT_陈寒4 小时前
Redis内存警告竟是因为这个不起眼的配置项
前端·人工智能·后端
Python私教4 小时前
AI 漫剧角色一进分镜就变脸?把提示词升级成“角色 ID + 镜头合同”
后端
Python私教4 小时前
一次生成 20 个角色却全都撞脸:我用“角色合同”重做了批量生成流程
后端
用户594404103565 小时前
Go 语言高性能 Web 服务开发:基于 Gin + GORM + Redis 构建 RESTful API
后端