mybatis-plus--配置-(sql)日志输出-自动填充-分页-多数据源-逻辑删除
本文主要介绍mybatis-plus的配置,以后在有的时候在补充。欢迎交流。
文章目录
- 日志输出
- 自动填充
- 分页
- 全局字段配置
- 多数据源
日志输出
调试的时候需要看执行的sql,这时候就很需要日志来记录查看了。
mybatis-plus的日志配置在yml里面
mybatis-plus:configuration:# 这个配置会将执行的sql打印出来,在开发或测试的时候可以用log-impl: org.apache.ibatis.logging.stdout.StdOutImpl # 这个配置会将执行的sql打印到日志文件log-impl: org.apache.ibatis.logging.slf4j.Slf4jImpl
输出到日志文件的时候需要配合着logging配置
logging:config: classpath:config/logback-spring.xmllevel:com:example:mapper: debug
自动填充
自动填充bean
@Beanpublic GlobalConfig globalConfig() {GlobalConfig globalConfig = new GlobalConfig();globalConfig.setMetaObjectHandler(new MyMetaObjectHandler());return globalConfig;}
这里有2种写法,注释掉的是低版本的。高版本从3.3.0开始可以使用。不过3.3.0不要使用。有bug。

@Component
public class MyMetaObjectHandler implements MetaObjectHandler {/*** 新增填充创建时间** @param metaObject*/@Overridepublic void insertFill(MetaObject metaObject) {
// this.strictInsertFill(metaObject, "createTime", LocalDateTime::now, LocalDateTime.class);
// this.strictUpdateFill(metaObject, "updateTime", LocalDateTime::now, LocalDateTime.class);this.fillStrategy(metaObject,"createTime",LocalDateTime.now());this.fillStrategy(metaObject,"updateTime",LocalDateTime.now());}/*** 更新填充更新时间** @param metaObject*/@Overridepublic void updateFill(MetaObject metaObject) {
// this.strictUpdateFill(metaObject, "updateTime", LocalDateTime::now, LocalDateTime.class);this.fillStrategy(metaObject,"updateTime",LocalDateTime.now());}}
那么如何设置哪些进行自动填充呢
在实体类上
@TableField(fill = FieldFill.INSERT)private LocalDateTime createTime;@TableField(fill = FieldFill.INSERT_UPDATE)private LocalDateTime updateTime;
枚举类型,不过也可以直接不写这个属性。
-
DEFAULT:默认不处理
-
INSERT:插入时自动填充字段
-
UPDATE:更新时自动填充字
-
INSERT_UPDATE:插入和更新时自动填充字段
分页
插件bean
@Beanpublic MybatisPlusInterceptor mybatisPlusInterceptor() {MybatisPlusInterceptor interceptor = new MybatisPlusInterceptor();//分页插件interceptor.addInnerInterceptor(new PaginationInnerInterceptor(DbType.MYSQL));return interceptor;}
全局字段配置
mybatis-plus:global-config:db-config:# 主键ID类型id-type: none# 逻辑删除字段名称logic-delete-field: deleted# 逻辑删除-删除值logic-delete-value: 1# 逻辑删除-未删除值logic-not-delete-value: 0
多数据源
官方文档
依赖
<dependency><groupId>com.baomidou</groupId><artifactId>dynamic-datasource-spring-boot-starter</artifactId><version>${version}</version>
</dependency>
boot3需要
<dependency><groupId>com.baomidou</groupId><artifactId>dynamic-datasource-spring-boot3-starter</artifactId><version>${version}</version>
</dependency>
spring:datasource:dynamic:primary: db1 # 配置默认数据库datasource:db1: # 数据源1配置url: username: rootpassword: rootdriver-class-name: com.mysql.cj.jdbc.Driverdb2: # 数据源2配置url: username: rootpassword: rootdriver-class-name: com.mysql.cj.jdbc.Driverdurid:initial-size: 1max-active: 20min-idle: 1max-wait: 60000autoconfigure:exclude: com.alibaba.druid.spring.boot.autoconfigure.DruidDataSourceAutoConfigure # 去除druid配置
service/mapper层加注解@DS
@DS 可以注解在方法上和类上,同时存在方法注解优先于类上注解。
注解在 service 实现或 mapper 接口方法上,不要同时在 service 和 mapper 注解。
@DS("db2")
public interface Mapper extends BaseMapper<User> {
}@Service
@DS("db2")
public class ServiceImpl extends ServiceImpl<ModelMapper, Model> implements IModelService {}@DS("db2")List<User> selectAll();
相关文章:
mybatis-plus--配置-(sql)日志输出-自动填充-分页-多数据源-逻辑删除
写在前面: 本文主要介绍mybatis-plus的配置,以后在有的时候在补充。欢迎交流。 文章目录 日志输出自动填充分页全局字段配置多数据源 日志输出 调试的时候需要看执行的sql,这时候就很需要日志来记录查看了。 mybatis-plus的日志配置在yml…...
数据API服务管理功能:解放数据潜力,提升业务效率
数据API服务的重要性 在数字化时代,数据被认为是企业的重要资产。数据API服务的管理功能能够有效帮助企业实现数据的整合和利用。通过合理的数据API服务管理,企业可以更好地解放数据潜力,提升业务效率。 解放数据潜力 数据API服务管理功…...
云南森林火灾vr消防模拟安全演练系统训练消防员火灾和事故的适应和应对能力
据统计,每一场破坏性地震发生后,会引发次生的灾害,而火灾是其中之一。导致火灾的原因,推测是地震时使供电线路短路,引燃易燃物,火灾就随即发生。所以,在日常生活中,定期的消防演练还是非常必要的, VR消防,是VR公司深圳华锐视点利用VR虚拟现实技术,将VR和…...
(6)(6.2) 任务命令
文章目录 前言 6.2.1 概述 6.2.2 导航命令 6.2.3 条件命令 6.2.4 DO命令 前言 本文介绍了 Copter、Plane 和 Rover 切换到自动模式时支持的任务指令。 !Warning 这是一项正在进行中的工作,尚未经过全面审核。有关 Copter 的更佳列表,请…...
【consul】
consul 一、什么是服务注册与发现1.11.2 二、 什么是consul2.1定义2.2特性2.2.1服务注册与发现:2.2.2健康检查:2.2.3Key/Value存储: 三、consul部署-datacenter :指定数据中心名称,默认是dc1。consul :指定…...
Electron环境搭建
Electron是一个优秀的开源框架,用于构建跨平台的桌面应用程序。它基于Chromium和Node.js,使得开发者可以使用Web技术(HTML、CSS和JavaScript)来构建可在Windows、macOS和Linux等多个操作系统上运行的应用程序。本文将介绍如何搭建…...
MinIO线上扩容实战
硬件投入肯定是随着业务的增长而增长,这就要求中间件平台必须提供水平伸缩机制,MinIO对象存储服务也不例外,本文就详细介绍MinIO的扩容。 Minio支持通过增加新的Server Pool来扩容老的集群。每个Server Pool都是一个相对独立的故障域&#x…...
【微服务】微服务的概论
微服务:构建面向为了解决这个问题,微服务架构应运而生。本文将向您介绍微服务的概念、优势、实现原理以及应用场景,带您领略微服务在构建面向未来的高效应用中的魅力。 一、微服务的概念和优势 微服务是一种将应用拆分为一系列小型、独立服…...
基于Jenkins自动打包并部署docker环境
目录 1、安装docker-ce 2、阿里云镜像加速器 3、构建tomcat 基础镜像 4、构建一个Maven项目 实验环境 操作系统 IP地址 主机名 角色 CentOS7.5 192.168.200.111 git git服务器 CentOS7.5 192.168.200.112 Jenkins git客户端 jenkins服务器 CentOS7.5 192.168…...
jvm 运行时数据区
Java虚拟机定义了若干种程序运行期间会使用到的运行时数据区,其中有一些会随着虚拟机启动而创建,随着虚拟机退出而销毁。另外一些则是与线程一一对应的,这些与线程对应的数据区域会随着线程开始和结束而创建和销毁 1.1程序计数器 程序计数器也叫pc寄存器 可以看作是当前线程…...
Jobs Portal求职招聘系统源码v3.5版本
Jobs Portal求职招聘系统 是为求职者和公司发布职位而开发的交互式求职招聘源码。它使求职者能够发布简历、搜索工作、查看个人工作列表。 它将提供各种公司在网站上放置他们的职位空缺资料,并且还可以选择搜索候选人简历。 除此之外,还有一个管理模块供…...
Android kotlin系列讲解(入门篇)使用Intent在Activity之间穿梭
<<返回总目录 上一篇:Android kotlin系列讲解(入门篇)Activity的理解与基本用法 文章目录 1、使用显式Intent2、使用隐式Intent3、更多隐式Intent的用法4、向下一个Activity传递数据5、返回数据给上一个Activity1、使用显式Intent 你应该已经对创建Activity的流程比较…...
音频编码类型及对应的封装文件
音频编码类型及对应的封装文件 如下表格 编码类型解释文件封装audio/mp4a-latmMPEG-4 Audio Advanced Audio Coding (AAC) Low-Overhead Audio Transport Multiplex (LATM) 压缩的音频格式mp4audio/3gpp3rd Generation Partnership Project (3GPP) 定义的音频编码格式3GPaudi…...
初探科研 | 第一次科研经历
1 . 自己的experiences 自己大二下学期中比较幸运加入到科研组里,做的方向是3D人体姿态估计,不过由于是一个全新领域,基本也是自己这个小白探索,所以成果甚微。在八月初由于各种原因退出了组,但是在这期间收获还是蛮多…...
Wireshark数据抓包分析之HTTP协议
一、实验目的: 主要时熟悉wireshark的使用 二、预备知识: HTTP协议的相关知识 what fk,原来只要在右页点击切换,就可以开启2台不同的机器欸!nice 三、实验过程: 1.在机器1中通过管理员身份运行hfs之后&a…...
研发管理工具大揭秘!6款利器助你高效研发
"研发管理工具有哪些?6款研发管理利器分析Zoho Projects、Trello、Asana、Monday.com、Smartsheet、Jira。" 在如今的科技发展日新月异的时代,研发管理工具的重要性日益凸显。研发管理工具有助于提高研发效率,降低成本,…...
云知识入门-什么是虚拟机、磁盘、镜像和快照
一、虚拟机 1、什么是虚拟机 虚拟机(VM)是一种创建于物理硬件系统(位于外部或内部)、充当虚拟计算机系统的虚拟环境,它模拟出了自己的整套硬件,包括 CPU、内存、网络接口和存储器。通过名为虚拟机监控程序…...
C/C++编译整理
1. 编译器 查看编译情况 gcc main.c -o main -v # -v查看编译详情 g main.c -o main -v # -v查看编译详情添加预处理头文件 在PATH中找到可执行文件程序的路径 export PATH $PATH:$HOME/bin gcc找到头文件的路径 C_INCLUDE_PATH/usr/include/libxml2:/MyLib export C_I…...
数据结构——栈和队列
栈和队列的建立 前言一、栈1.栈的概念2.栈的实现3.代码示例(1)Stack.h(2)Stack.c(3)Test.c(4)运行结果(5)完整代码演示 二、队列1.队列的概念2.队列的实现3.代…...
苍穹外卖阿里云oss存储笔记
阿里云oss 阿里云对象存储oss(Object Storage Service),是一款海量,安全,低成本,高可靠得云存储服务,使用oss,您可以通过网络随时存储和调用包括文本,图片,视…...
Vivado初始化设计慢?可能是这3个隐藏设置惹的祸
Vivado初始化设计慢?可能是这3个隐藏设置惹的祸 当你在深夜赶项目进度,Vivado却卡在"Initializing Design"界面转圈超过15分钟,那种焦虑感堪比考试时笔没水。作为Xilinx FPGA开发的核心工具,Vivado的初始化速度直接影响…...
Qt实战:用QCustomPlot的QCPColorMap绘制声呐/热力图,附完整代码与色条(QCPColorScale)美化技巧
Qt实战:用QCustomPlot实现专业级声呐热力图可视化 第一次在项目中尝试用QCustomPlot绘制声呐数据时,我被它强大的性能震撼了——5000100的数据矩阵渲染仅需200毫秒,而Matplotlib处理同样规模的数据需要近3秒。这个发现让我彻底放弃了Python方…...
开发提效新组合:用Cursor生成代码片段,在快马一键集成与部署
最近在做一个数据整理的小工具时,发现了一个特别高效的工作流组合:先用Cursor快速生成核心代码片段,再用InsCode(快马)平台一键整合部署。整个过程就像搭积木一样顺畅,特别适合需要快速实现功能模块的场景。 需求分析 我们经常要处…...
从SOP到AI Society:MGX多智能体协作平台如何重塑软件开发流程
1. MGX平台如何用SOP机制颠覆传统开发模式 我第一次接触MGX平台时,被它的标准化操作流程(SOP)惊艳到了。这就像把一个混乱的施工现场变成了井然有序的装配线,每个智能体都知道自己该在什么时候做什么事。传统开发中,我…...
OpenClaw多模态探索:Qwen3-32B+RTX4090D镜像截图转报告实践
OpenClaw多模态探索:Qwen3-32BRTX4090D镜像截图转报告实践 1. 为什么选择这个技术组合 上周团队头脑风暴时,我遇到了一个典型痛点:会议室白板上写满了讨论要点,但拍照后整理成电子版纪要需要手动誊写半小时。作为技术负责人&…...
无人机控制中的模糊控制:一维与二维模糊控制及其实现要点
无人机 控制方面 模糊控制 有一维模糊和二维模糊两种,文字说明资料已遗失,数学模型可以根据仿真图推导,直接运维simulink会报错,是因为没有导入模糊规则,在运行simulink之前需要在命令窗口输入workreadfis work.fis ,这…...
Zotero插件Ethereal Style:打造高效文献管理新体验
Zotero插件Ethereal Style:打造高效文献管理新体验 【免费下载链接】zotero-style zotero-style - 一个 Zotero 插件,提供了一系列功能来增强 Zotero 的用户体验,如阅读进度可视化和标签管理,适合研究人员和学者。 项目地址: ht…...
lite-avatar形象库入门:如何查找、预览并下载心仪的数字人形象
lite-avatar形象库入门:如何查找、预览并下载心仪的数字人形象 1. 数字人形象库简介 在数字人项目开发中,一个合适的虚拟形象往往能让用户体验大幅提升。lite-avatar形象库正是为解决这一需求而生的专业资源库。 这个基于HumanAIGC-Engineering/LiteA…...
DOL-CHS-MODS实战指南:从入门到精通的5个关键步骤
DOL-CHS-MODS实战指南:从入门到精通的5个关键步骤 【免费下载链接】DOL-CHS-MODS Degrees of Lewdity 整合 项目地址: https://gitcode.com/gh_mirrors/do/DOL-CHS-MODS 副标题:一站式解决Degrees of Lewdity汉化与Mod整合难题,让你轻…...
AutoUnipus:重新定义U校园学习效率的智能解决方案
AutoUnipus:重新定义U校园学习效率的智能解决方案 【免费下载链接】AutoUnipus U校园脚本,支持全自动答题,百分百正确 2024最新版 项目地址: https://gitcode.com/gh_mirrors/au/AutoUnipus 还在为U校园平台上堆积如山的网课任务而焦虑吗?每天花费…...
