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

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

相关推荐
驭渊的小故事1 小时前
MyBatis XML 开发实战:从配置到 CRUD 全解析
xml·java·mybatis
大鸡腿同学7 小时前
手心向上,手心向下
后端
CCblandy8 小时前
令牌桶在 0.9 倍负载超发 19%、固定窗口边界放行 20 个:四种限流算法同构实测
后端·python·算法·性能优化·架构
IT研究室8 小时前
最新计算机毕业设计选题推荐-基于spring boot的葡萄酒文化宣传网站-网站-文档指导-Java-springboot
java·spring boot·课程设计
凤山老林9 小时前
Spring Boot 集成 Sa-Token 实现高可用权限认证:登录鉴权、动态路由权限与接口防重放实战
spring boot·后端·sa-token·bootstrap
Bazingga11 小时前
一次推理的完整旅程:ReAct推理深度解析
后端
姜鱼问生11 小时前
Nginx gzip 压缩:一个配置让页面加载快 3 倍
后端·算法·架构
颜酱11 小时前
一栋商业大厦,讲清 InnoDB 的表空间、段、区和页
后端·mysql
码事漫谈11 小时前
1956 亿行数据该怎么存:金仓时序数据库的三个实测
后端
Wx-bishekaifayuan11 小时前
springboot桂味美食分享系统40540-计算机课程设计、毕业设计
spring boot·后端·python·django·课程设计·express·旅游