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

文章目录

  • MybatisPlus 介绍
  • 一、MyBatisPlus 集成步骤
    • 第一步、引入依赖
    • 第二步、定义mapper
  • 二、注解
    • @TableName
    • @Tableld
    • @TableField
  • 三、配置文件
  • 四、加解密
    • 实现步骤

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

MybatisPlus 介绍

为简化开发而生,官网:帮助文档
在这里插入图片描述

一、MyBatisPlus 集成步骤

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

第一步、引入依赖

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

<dependency>
    <groupId>com.baomidou</groupId>
    <artifactId>mybatis-plus-boot-starter</artifactId>
    <version>3.5.3.1</version>
</dependency>

第二步、定义mapper

自定义的Mapper集成MybatisPlus提供的BaseMapper提供的接口。
MybatisPlus 通过扫描实体类,并基于反射获取实体类的信息作为数据库表信息。

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文件中设置

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
以上两步,即可实现加解密。

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

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

相关文章

亚信科技&用友,助力四川腾翔打通数据壁垒,跑出转型加速度

近日&#xff0c;亚信科技携手用友依托“AntDBU8C”联合产品&#xff0c;助力四川腾翔人力资源管理有限公司&#xff08;以下简称&#xff1a;腾翔&#xff09;打通“人力资源”与“财务”两大业务系统&#xff0c;实现高水平的数据互通、共享和应用&#xff0c;助力业务降本增…

【python】 pandas.DataFrame.to_json 函数

【python】 pandas.DataFrame.to_json 函数 写在最前面一、什么是 JSON&#xff1f;【性能对比】python读取json和直接从orcle数据库读&#xff0c;哪个更快&#xff1f;性能对比适用场景综合考虑 二、to_json 函数概述参数详解1. path_or_buf2. orient4. double_precision5. f…

基于开源模型搭建Agent系统教程

一篇非常基础非常基础的Agent博客 大型语言模型&#xff08;LLMs&#xff09;经过causal language modeling训练后&#xff0c;可以处理各种任务&#xff0c;但它们通常在逻辑、计算和搜索等基本任务上表现不佳。最糟糕的情况是&#xff0c;它们在某个领域&#xff08;如数学&…

MT2093 活动安排

贪心策略&#xff1a; 每次选择结束时间最早的活动 代码&#xff1a; #include <bits/stdc.h> using namespace std; const int N 5e5 10; int n; struct pp {int a, b; } p[N]; bool cmp(pp x, pp y) {return x.b < y.b; } int ans 0;int main() {cin >>…

KafkaQ - 好用的 Kafka Linux 命令行可视化工具

鉴于并没有在网上找到比较好的linux平台的kafka可视化工具&#xff0c;今天为大家介绍一下自己开发的在 Linux 平台上使用的可视化工具KafkaQ 虽然简陋&#xff0c;主要可以实现下面的这些功能&#xff1a; 1&#xff09;查看当前topic的分片数量和副本数量 2&#xff09;查…

实战计算机网络02——物理层

实战计算机网络02——物理层 1、物理层实现的功能2、数据与信号2.1 数据通信模型2.2 通信领域常用术语2.3 模拟信号和数字信号 3、信道和调制3.1 信道3.2 单工通信、半双工通信、全双工通信3.3 调制3.4 奈式准则3.5 香农定律 4、传输媒体4.1 导向传输媒体4.2 非导向传输媒体 5、…

JEPaaS 低代码平台 j_spring_security_check SQL注入漏洞复现

0x01 产品简介 JEPaaS是一款优秀的软件平台产品,可视化开发环境,低代码拖拽式配置开发,操作极其简单,可以帮助解决Java项目80%的重复工作,让开发更多关注业务逻辑,大大提高开发效率,能帮助公司大幅节省人力成本和时间成本,同时又不失灵活性。适用于搭建 OA、ERP、CRM、…

ONNX2NCNN工具

最近部署很多onnx转ncnn的操作&#xff0c;发现还是需要有页面操作会比较好&#xff0c;而且需要查询onnx的图&#xff0c;所以写了一个工具来搭配使用 建议搭配Netron 来使用 打开模型 选择打开-》选择onnx模型 显示基础信息 查询onnx模型图 展示信息 点击“展示信息”&…

喜讯!云起无垠入选《2024中国AI大模型产业图谱1.0版》

近日&#xff0c;数据猿与上海大数据联盟联合策划并启动了“2024全年度三大策划活动”&#xff0c;经过数月的精心筹备和严格筛选&#xff0c;通过直接申报交流、深入访谈调研、外部咨询评价以及匿名访谈等多维度交叉验证的方式&#xff0c;最终完成了《2024中国AI大模型产业图…

不同进制数之间的相互转换(全面解析版)

目录 前言 1.不同进制的表示方法 2.不同进制之间的对照 3.二进制数转换为其他进制数 3.1二进制数转换为八进制数 3.2任意进制数转换为十进制数 3.3二进制数转换为十六进制数 4.其他进制数转换为二进制数 4.1八进制数转换为二进制数 4.2十进制数转换为任意进制数 4.3十…

ESP-IDF OTA升级过程中遇到的“esp_transport_read returned:-1 and errno:128”问题(1)

在笔者“ESP32-C3模组上跑通OTA升级”系列文章中,经过了一番“踩坑填坑”的过程,最终实现了OTA升级功能。每次升级都能够成功,比较稳定。 但是,当笔者添加大量业务代码(如使能蓝牙配置),使得固件的大小由之前的200~300K字节变为1.5~1.6M字节后,再次执行升级时(同样的…

x64-linux下在vscode使用vcpkg

1.使用vscode远程连接上对应的linux &#xff0c;或者直接在图形化界面上使用。 2.安装vcpkg 插件&#xff0c;然后打开插件设置。 注意&#xff1a;defalut和host的主机一定和你自己的主机一致&#xff0c;且必须符合vcpkg三元组格式&#xff0c;其中你可以选择工作台的设置&a…

编写函数isprime(int a),用来判断自变量a是否为素数,若是素数,函数返回整数1,否则返回0

int main() {int isprime(int x);int x;printf("请输入一个数\n");scanf("%d", &x);if (isprime(x)){printf("%d是素数\n",x);}else{printf("%d不是素数\n",x);} } int isprime(int a) {int i;for (i 2; i < a / 2; i){if (a%…

法考报名必看,99%高过审率证件照片电子版制作技巧

在2024年&#xff0c;法考备战已经如火如荼进行中&#xff0c;作为进入法律行业的第一步&#xff0c;参加法考的重要性不言而喻。而作为报名过程中必不可少的一环&#xff0c;报名照片要求以及证件照制作技巧更是需要我们特别重视的部分。想要在这个过程中顺利通过审核&#xf…

vue3中用setup写的数据,不能动态渲染(非响应式)解决办法

相比于2.0&#xff0c;vue3.0在新增了一个setup函数&#xff0c;我们在setup中可以写数据也可以写方法&#xff0c;就像我们以前最开始学习js一样&#xff0c;在js文件中写代码。 For instance <template><div class"person"><h2>姓名&#xff1…

必刷!!软考【系统分析师】100道高频考题(含知识点解析),轻松45+

2024上软考已经圆满结束&#xff0c;距离下半年的考试也只剩下半年不到的时间。需要备考下半年软考系分的小伙伴们可以抓紧开始准备了&#xff0c;毕竟高级科目的难度可是不低的。 今天给大家整理了——系统分析师100道高频考题 &#xff0c;都是核心重点&#xff0c;有PDF&…

音频处理1_基本概念

AI变声和音乐创作的基础 声音本质上是人类可察觉范围内的气压周期性波动, 即声波 声波是一种连续信号&#xff0c;在任意时间内的声音信号有无数个取值。对于只能读取有限长数组计算机来说&#xff0c;我们需要将连续的声音信号转换为一个离散的序列&#xff0c;即数字化表示。…

ssm情侣购物系统-计算机毕业设计源码02387

目 录 摘要 1 绪论 1.1 开发背景与意义 1.2开发意义 1.3Vue.js 主要功能 1.3论文结构与章节安排 2 情侣购物系统系统分析 2.1 可行性分析 2.2 系统流程分析 2.2.1 数据流程 3.3.2 业务流程 2.3 系统功能分析 2.3.1 功能性分析 2.3.2 非功能性分析 2.4 系统用例分…

电脑蓝屏怎么办?7个方法为你解决问题!

“我今天开电脑时&#xff0c;不知道为什么电脑突然就蓝屏了。大家有什么方法可以解决电脑蓝屏问题吗&#xff1f;” 在现代社会的快节奏中&#xff0c;电脑已经成为了我们工作和生活的重要伙伴。然而&#xff0c;当这个“伙伴”突然展现出它的“任性”一面——蓝屏时&#xff…

idea插件开发之通过纯编码方式开发页面(不使用form ui)

写在前面 本文看线如何通过纯编码方式来定义页面。 1&#xff1a;正戏 我们首先来定义一个面板&#xff0c;需要继承抽象类&#xff1a;com.intellij.openapi.ui.SimpleToolWindowPanel&#xff0c;如下&#xff1a; public class MySelfDefinePanel extends SimpleToolWin…