当前位置: 首页 > news >正文

mybatis plus新版代码生成器,类型转换处理器ITypeConvertHandler使用

目录

  • 引言
  • 关键代码
  • 源码分析
  • 记录一坑
  • 类型转换的第二种方式
  • 完整源码地址

引言

当默认生成的数据类型不满足时,就需要自定义指定要生成的类型

关键代码

FastAutoGenerator.create(url, username, password).dataSourceConfig(builder -> {builder.typeConvertHandler((globalConfig, typeRegistry, metaInfo) -> {// 包装类转基本数据类型IColumnType columnType = typeRegistry.getColumnType(metaInfo);if (DbColumnType.LONG.equals(columnType)) {return DbColumnType.BASE_LONG;} else if (DbColumnType.INTEGER.equals(columnType)) {return DbColumnType.BASE_INT;} else if (DbColumnType.BOOLEAN.equals(columnType)) {return DbColumnType.BASE_BOOLEAN;}return columnType;});}).execute();

源码分析

在这里插入图片描述
如果不自定义类型转换器 typeConvertHandler 就会是空的,进入else 调用 columnType = typeRegistry.getColumnType(metaInfo);
因此自定义类型转换器时,可以基于默认的基础上来改。

记录一坑

在这里插入图片描述
看官方文档时,看到类型转换器就会下意识的整个页面搜索关键字查看使用,但你会神奇的发现,根本就没有具体的使用示例,凉了。。。这时只能去看源码打断点,研究默认的使用,再重写自己的;

在这里插入图片描述
如何你再看下指南,就会发现这边居然会有示例。。。

类型转换的第二种方式

可以自定义模板,直接在模板上修改,以下是freemaker模板示例

private <#if field.propertyType == 'int'>Integer<#elseif field.propertyType == 'long'>Long<#elseif field.propertyType == 'boolean'>Boolean<#else>${field.propertyType}</#if> ${field.propertyName};

完整源码地址

https://gitee.com/qjqlzwh/mybatis-plus-code-generator/tree/master

相关文章:

mybatis plus新版代码生成器,类型转换处理器ITypeConvertHandler使用

目录 引言关键代码源码分析记录一坑类型转换的第二种方式完整源码地址 引言 当默认生成的数据类型不满足时&#xff0c;就需要自定义指定要生成的类型 关键代码 FastAutoGenerator.create(url, username, password).dataSourceConfig(builder -> {builder.typeConvertHandl…...

python中的matplotlib画直方图(数据分析与可视化)

python中的matplotlib画直方图&#xff08;数据分析与可视化&#xff09; import numpy as np import pandas as pd import matplotlib.pyplot as pltpd.set_option("max_columns",None) plt.rcParams[font.sans-serif][SimHei] plt.rcParams[axes.unicode_minus]Fa…...

【详解】文本检测OCR模型的评价指标

关于文本检测OCR模型的评价指标 前言&#xff1a;网上关于评价标准乱七八糟的&#xff0c;有关于单词的&#xff0c;有关于段落的&#xff0c;似乎没见过谁解释一下常见论文中常用的评价指标具体是怎么计算的&#xff0c;比如DBNet&#xff0c;比如RCNN&#xff0c;这似乎好像…...

Python遥感图像处理应用篇038 GDAL 遥感图像特征提取(统计特征图)

1.图像统计特征 遥感图像的统计特征是对图像中像素值的统计分布进行定量化描述的过程。这些统计特征可以提供关于图像内容和特性的有用信息。下面是一些常用的遥感图像统计特征描述方法: 平均值(Mean):计算图像中所有像素值的平均值,可以反映整个图像的亮度水平。 方差(…...

全局ID生成方式

全局ID生成方式 目录 1. 全局唯一id介绍 1.1 特点 2. 常见的全局唯一id生成策略 2.1 利用数据库自增字段生成id2.2 UUID2.3 Redis生成id2.4 zookeeper生成ID2.5 Twitter的snowflake算法 3. 面试题目&#xff1a;实现一个全局的ID生成器&#xff0c;注意线程安全 3.1 单例模式…...

c++之指针

总结性质 我们如何在一个函数中获取数组的长度&#xff1a; 我们都知道&#xff0c;在main函数中我们获得数组的长度只需要使用sizeof&#xff08;a&#xff09;/sizeof&#xff08;a【0】&#xff09;即可获得&#xff0c;但当我们把一个数组传入到方法时&#xff0c;c默认把…...

JVM 访问对象的两种方式

Java 程序会通过栈上的 reference 数据来操作堆上的具体对象。由于 reference 类型在《Java 虚拟机规范》里面只规定了它是一个指向对象的引用&#xff0c;并没有定义这个引用应该通过什么方式去定位、访问到堆中对象的具体位置&#xff0c;所以对象访问方式也是由虚拟机实现而…...

yo!这里是Linux基础开发工具介绍

目录 前言 基础开发工具 yum vim 1.基本介绍 2.基本操作 3.正常模式常用命令 4.底行模式常用命令 gcc/g gdb 1.基本介绍 2.常用操作 make/Makefile 1.背景 2.介绍 3.使用 git 1.介绍 2.操作 进度条程序简单实现 后记 前言 在学完初步的基础指令及权限控…...

本地组策略编辑器找不到怎么解决?| 解决windows home 版本隐藏本地组策略编辑器的问题 | 简单的介绍本地组策略编辑器

一般的 Windows 非家庭系统中&#xff0c;本地组策略编辑器不会被隐藏&#xff0c;但在某些特定情况下&#xff0c;可能会受到限制或不可用。如果你无法访问本地组策略编辑器&#xff0c;并且认为应该可以访问&#xff0c;请确保你拥有管理员权限&#xff0c;并检查是否有任何系…...

将Spring boot 项目部署到tomcat服务艰难

A B C D E F G H I J K L M N O P Q R S T U V W X Y Z X Y Z...

第十二章 ObjectScript - 命令

文章目录 第十二章 ObjectScript - 命令命令熟悉的命令用于多维数组的命令 第十二章 ObjectScript - 命令 命令 本节概述了在 ObjectScript 常用命令。其中包括与其他语言中的命令相似的命令&#xff0c;以及其他语言中没有等效项的其他命令。 命令名称不区分大小写&#xf…...

在 CentOS 7 / RHEL 7 上安装 OpenSSL 1.1.x

OpenSSL 是一个开源软件库&#xff0c;由用于实现传输层安全 (TLS) 和安全套接字层 (SSL) 协议以及其他加密功能&#xff08;例如签名、加密、解密和验证&#xff09;的工具和库组成。操作系统和许多应用程序使用 OpenSSL 通过互联网提供安全通信。 CentOS 7 / RHEL 7 操作系统…...

论文阅读_模型结构_LoRA

name_en: LoRA: Low-Rank Adaptation of Large Language Models name_ch: LORA&#xff1a;大语言模型的低阶自适应 paper_addr: http://arxiv.org/abs/2106.09685 date_read: 2023-08-17 date_publish: 2021-10-16 tags: [‘深度学习’,‘大模型’] author: Edward J. Hu cita…...

uniapp获取 pdf文件流 并展示

1、流数据 uni.request({ url: this.$config.apiUrl“/api/report/content/fill?codebv.mf.refund.pay.voucher&busiNo00201323051500148949”, header: { ‘content-type’: ‘application/json;charsetutf-8’, ‘X-App-Code’: ‘weixin’, ‘X-Source’: ‘program’,…...

Linux(进程间通信)

目录 一、通信概念 二、进程间通信机制 1、管道 1.1 匿名管道&#xff08;Anonymous Pipe&#xff09; 1.2 命名管道&#xff08;Named Pipe&#xff09; 2、信号量 2.1 概念 2.2 API详解 2.3 使用示例 3、消息队列 3.1 概念 3.2 API函数 3.3 应用代码 4、共享内…...

Go的Gorm数据库操作错误WHERE conditions required

这是我在写这个代码处出现的问题 result : db.Save(&emergency) 这个错误是由于在提交保存数据时&#xff0c;GORM 需要指定 WHERE 条件&#xff0c;确保能够正确执行数据库操作。要解决这个问题&#xff0c;可以尝试使用 Create 方法替换 Save 方法&#xff0c;同时将创…...

基于java swing和mysql实现的仓库商品管理系统(源码+数据库+运行指导视频)

一、项目简介 本项目是一套基于java swing和mysql实现的仓库商品管理系统&#xff0c;主要针对计算机相关专业的正在做毕设的学生与需要项目实战练习的Java学习者。 包含&#xff1a;项目源码、项目文档、数据库脚本等&#xff0c;该项目附带全部源码可作为毕设使用。 项目都经…...

6、css学习6(表格)

1、指定CSS表格边框&#xff0c;使用border属性。 2、表格双边框是因为th/td有各自独立的边框。 3、boder-collapse设置表格边框是否被折叠成一个单一的边框。 4、width和height属性定义表格的宽度和高度。 5、text-align属性设置水平对齐方式。 6、vertic-align属性设置垂…...

Ceph源码解析:PG peering

集群中的设备异常(异常OSD的添加删除操作)&#xff0c;会导致PG的各个副本间出现数据的不一致现象&#xff0c;这时就需要进行数据的恢复&#xff0c;让所有的副本都达到一致的状态。 一、OSD的故障和处理办法&#xff1a; 1. OSD的故障种类&#xff1a; 故障A&#xff1a;一…...

解决jupyter notebook可以使用pytorch而Pycharm不能使用pytorch的问题

之前我是用的这个目录下的Python 开始更新目录 1、 2、 3、...

Python try...except ImportError 语句详解

在Python编程中&#xff0c;ImportError 是与模块导入相关的核心异常。优雅地处理它&#xff0c;是编写健壮、可维护和跨平台代码的关键。try...except ImportError 结构正是实现这一目标的标准工具。本文将为你抽丝剥茧&#xff0c;从基础概念到高级实践&#xff0c;全面解析这…...

ESP32-S2物联网实战:IPv6配置与Adafruit IO双向通信

1. 项目概述与核心价值如果你手头有一块ESP32-S2开发板&#xff0c;并且已经厌倦了仅仅让它连上Wi-Fi、点个灯&#xff0c;想让它真正“活”起来&#xff0c;成为一个能融入现代互联网、能与云端自由对话的智能节点&#xff0c;那么这篇文章就是为你准备的。我们将深入两个在物…...

【ZYNQ】AXI4总线协议实战:从握手时序到PS-PL高效通信

1. AXI4总线协议基础&#xff1a;从握手信号到通道架构 第一次接触ZYNQ的PS-PL通信时&#xff0c;我被AXI4协议里那些VALID/READY信号搞得头晕眼花。直到在示波器上抓到真实的握手波形&#xff0c;才突然理解这个看似复杂的协议其实像极了我们日常的对话机制——只有当说话方准…...

如何用nmrpflash拯救你的Netgear路由器:从“变砖“到重生的完整指南

如何用nmrpflash拯救你的Netgear路由器&#xff1a;从"变砖"到重生的完整指南 【免费下载链接】nmrpflash Netgear Unbrick Utility 项目地址: https://gitcode.com/gh_mirrors/nmr/nmrpflash 当你的Netgear路由器固件升级失败、意外断电或系统崩溃后无法启动…...

低温预警!固化慢、易开裂……密封胶冬季施工手册

低温预警!固化慢、易开裂……密封胶冬季施工手册 硅酮耐候密封胶主要作用是保障幕墙的气密性、水密性。其出现问题,可能会导致耐候密封失效,从而造成幕墙漏水漏气,影响幕墙的正常使用。耐候密封胶由于考虑到现场施工,几乎都是单组分硅酮密封胶产品。进入冬季,气候变化明…...

Steam成就管理器终极指南:3步修复错失的游戏成就

Steam成就管理器终极指南&#xff1a;3步修复错失的游戏成就 【免费下载链接】SteamAchievementManager A manager for game achievements in Steam. 项目地址: https://gitcode.com/gh_mirrors/st/SteamAchievementManager Steam Achievement Manager&#xff08;SAM&a…...

从TPM到机密计算:远程证明技术原理与zap1项目实践指南

1. 项目概述与核心价值最近在整理一些零散的学习笔记时&#xff0c;发现了一个挺有意思的项目&#xff0c;叫Frontier-Compute/zap1-learning-attestation。乍一看这个标题&#xff0c;可能有点让人摸不着头脑&#xff0c;尤其是对于刚接触可信计算或者硬件安全领域的朋友来说。…...

Qdrant客户端库实战:从向量数据库连接到生产级应用开发

1. 项目概述&#xff1a;从向量数据库到应用落地的桥梁如果你最近在折腾大模型应用&#xff0c;或者想给自己的产品加上一个“智能大脑”&#xff0c;那你大概率绕不开一个词&#xff1a;向量数据库。简单来说&#xff0c;它就像一个能理解“意思”的超级搜索引擎&#xff0c;不…...

Arm Iris调试接口:架构设计与工程实践详解

1. Iris调试与追踪接口深度解析调试与追踪技术是嵌入式系统开发的核心支柱&#xff0c;而Arm的Iris接口代表了这一领域的最新进展。作为一名长期从事嵌入式调试工具开发的工程师&#xff0c;我将带您深入剖析这套接口的设计哲学与实战应用。1.1 接口架构设计理念Iris的架构设计…...

Shell脚本加固实战:用shellguard提升脚本健壮性与安全性

1. 项目概述&#xff1a;一个为Shell脚本穿上“防弹衣”的守护者 在运维开发、自动化部署乃至日常的系统管理工作中&#xff0c;Shell脚本是我们最忠实、最高效的伙伴。从简单的日志清理到复杂的CI/CD流水线&#xff0c;Shell脚本无处不在。然而&#xff0c;脚本的安全性、健壮…...