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

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

相关推荐
子兮曰21 小时前
jev-ultrafast 深度解析:7 秒订机票的浏览器 Agent 是如何炼成的
前端·后端·agent
子兮曰21 小时前
Jev 爆发一周:7 秒 Agent 背后的 System One 生态与三场争议
前端·后端·ai编程
爱勇宝21 小时前
ZCode 开源 24 小时:一份没有历史的账本,回答不了"有没有偷代码"
前端·后端·chatglm (智谱)
胡写代码1 天前
别再前后端各写一套表单校验了
java·后端
大勇前进1 天前
原生 PHP 还是 Laravel?小项目到底要不要上框架
后端
vipxieliang1 天前
ValidX 在 DDD 领域驱动设计中的实践
java·spring boot
yuzhi_liu1 天前
我用 LangGraph4j 实现 Multi-Agent Supervisor
后端
alsmile1 天前
Node-RED 之外,国产规则引擎的新方案:基于标准语法,Go 先行实现
后端·开源·go
大白801 天前
PHP 内存溢出排查思路:看懂报错日志,精准定位问题
后端
二月龙1 天前
PHP 接口返回统一响应封装,让前后端对接更省心
后端