若依vue使用DM8数据库代码生成不可以报错问题解决。

本人也是下载了无数个版本的ruoyi,但是都是代码生成相关模块不可用。

在一周的不屑努力下,发现了一篇博文,更改相关函数后即可。

注意两个文件都有要改动的地方。

下面是解决方法:

一、GenTableColumnMapper
这里是一个方法

<select id="selectDbTableColumnsByName" parameterType="String" resultMap="GenTableColumnResult"> select t3.COLUMN_NAME as column_name, (CASE WHEN (t3.NULLABLE = 'N' and t4.CONSTRAINT_TYPE !='P') THEN '1' ELSE NULL END) as is_required, IF(t4.CONSTRAINT_TYPE = 'P', 1, 0) as is_pk, t3.COLUMN_ID as sort, t5.COMMENTS as column_comment, ( CASE WHEN (t3.TYPE = 'INT' OR t3.TYPE = 'INTEGER' OR t3.TYPE = 'BIGINT' OR t3.TYPE = 'TINYINT' OR t3.TYPE = 'SMALLINT') and t4.CONSTRAINT_TYPE = 'P' THEN '1' ELSE '0' END ) AS is_increment, DATA_TYPE as DATA_TYPE from ((select COLUMN_NAME, COLUMN_ID, concat(DATA_TYPE, '(', DATA_LENGTH, ')') as DATA_TYPE, DATA_TYPE as TYPE, TABLE_NAME, NULLABLE from SYS.USER_TAB_COLUMNS WHERE table_name = (#{tableName})) t3 left join (select COMMENTS, COLUMN_NAME, TABLE_NAME from SYS.USER_COL_COMMENTS) t5 ON (t3.COLUMN_NAME = t5.COLUMN_NAME and t3.TABLE_NAME = t5.TABLE_NAME) left join (select t1.CONSTRAINT_TYPE, t1.OWNER, t1.TABLE_NAME, t2.CONSTRAINT_NAME, t2.COLUMN_NAME from (select CONSTRAINT_NAME, CONSTRAINT_TYPE, OWNER, TABLE_NAME from SYS.USER_CONSTRAINTS) t1 inner join (select CONSTRAINT_NAME, OWNER, TABLE_NAME, COLUMN_NAME from SYS.USER_CONS_COLUMNS) t2 ON (t1.TABLE_NAME = t2.TABLE_NAME and t1.CONSTRAINT_NAME = t2.CONSTRAINT_NAME) where t1.CONSTRAINT_TYPE = 'P') t4 ON (t3.COLUMN_NAME = t4.COLUMN_NAME and t3.TABLE_NAME = t4.TABLE_NAME)) order by t3.COLUMN_ID </select>

二、GenTableMapper
这里是三个方法

<select id="selectDbTableList" parameterType="GenTable" resultMap="GenTableResult"> select t1.TABLE_NAME as table_name, t2.COMMENTS as table_comment, NULL as create_time, NULL as update_time from SYS.USER_TABLES t1 inner join SYS.USER_TAB_COMMENTS t2 ON t1.TABLE_NAME = t2.TABLE_NAME WHERE t1.TABLE_NAME NOT LIKE 'qrtz_%' AND t1.TABLE_NAME NOT LIKE 'gen_%' AND t1.TABLE_NAME NOT IN (select table_name as TABLE_NAME from gen_table) <if test="tableName != null and tableName != ''"> AND lower(t1.TABLE_NAME) like lower(concat('%', #{tableName}, '%')) </if> <if test="tableComment != null and tableComment != ''"> AND lower(t1.TABLE_NAME) like lower(concat('%', #{tableName}, '%')) </if> </select>
<select id="selectDbTableListByNames" resultMap="GenTableResult"> select t1.TABLE_NAME as table_name, t2.COMMENTS as table_comment, NULL as create_time, NULL as update_time from SYS.USER_TABLES t1 inner join SYS.USER_TAB_COMMENTS t2 ON t1.TABLE_NAME = t2.TABLE_NAME WHERE t1.TABLE_NAME NOT LIKE 'qrtz_%' AND t1.TABLE_NAME NOT LIKE 'gen_%' and t1.TABLE_NAME in <foreach collection="array" item="name" open="(" separator="," close=")"> #{name} </foreach> </select>
<select id="selectTableByName" parameterType="String" resultMap="GenTableResult"> select t1.TABLE_NAME as table_name, t2.COMMENTS as table_comment, NULL as create_time, NULL as update_time from SYS.USER_TABLES t1 inner join SYS.USER_TAB_COMMENTS t2 ON t1.TABLE_NAME = t2.TABLE_NAME where t2.COMMENTS <![CDATA[ <> ]]> '' and t1.TABLE_NAME = #{tableName} </select>

系统表中有ALL、DBA、USER类型的,为了防止权限有问题,取的系统表全是取的是USER中的。
找到对应的SQL方法直接替换就行了

使用时注意传入的参数是tableName
有个select Database,这个没做处理,不过不影响使用,

identity这个自增的字段在系统表中没有找到,
我是用int类型并且是主键的情况是判断的,
这个主要是因为ID自增的问题,
如果有找到的话,可以给评论下,我优化下,

全部的数据来源都是从SYS的视图中获取的,关联关系的都是通过视图中的字段和数据对应找的,

现在我们这边使用的是UUID,所以不会出现问题。
暂时的话,在生成代码的时候,没发现什么问题,代码生成正常,一切使用正常。

以上是原文,下述为原文连接。作者:AzureBlue0001
原文链接:https://blog.csdn.net/qq_41840735/article/details/127877595

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

[Windows] MicrosoftEdgeWebView2修复工具 V1.0.0

[Windows] MicrosoftEdgeWebView2修复工具 V1.0.0 链接&#xff1a;https://pan.xunlei.com/s/VOj03afWPNW-IYlH9Zt48mevA1?pwdbhyx# 系统提示安装失败&#xff0c;已为系统安装Microsoft Edge Webview2 Runtime&#xff0c;无法卸载也无法安装&#xff1b;可用此工具修复。

2026年物联网平台选型指南:为什么ThingsKit成为企业首选?

2026年已成为企业数字化转型的关键节点。在这一背景下&#xff0c;选择一个稳定、高效、可扩展且符合国产化要求的物联网平台&#xff0c;已不再是“锦上添花”&#xff0c;而是关乎业务成败的战略决策。 在众多国内外物联网平台中&#xff0c;ThingsKit 凭借其“开箱即用、低代…

Verizon大面积断网iPhone显示“SOS“状态

根据故障检测网站Downdetector的数据显示&#xff0c;问题始于周三东部时间下午12点/太平洋时间上午9点后不久。社交媒体上出现了来自三大运营商用户的大量故障报告。Verizon的断网情况看起来更为广泛&#xff0c;覆盖全国范围&#xff0c;东西海岸的用户都受到影响。受影响的V…

高效光标移动技巧

在 tmux 里打字时&#xff0c;如果你想快速移动光标&#xff0c;有两种情况需要区分&#xff1a;1️⃣ 普通输入模式&#xff08;直接在 shell 里打字&#xff09; 这里其实用的是 终端/系统的快捷键&#xff0c;tmux 本身不改变这些行为。 在 macOS 下常见的光标移动快捷键&am…

软件项目管理中的三个核心方面:软件的功能与性能定义、项目过程管理方法,以及Reel提出的软件项目成功实践的五个关键部分

软件项目管理中的三个核心方面&#xff1a;软件的功能与性能定义、项目过程管理方法&#xff0c;以及Reel提出的软件项目成功实践的五个关键部分。以下是对这三个方面的整合理解与解析&#xff1a;软件的功能和性能 明确软件“做什么”是项目成功的前提。需清晰定义&#xff1a…

谷歌趋势探索功能上线Gemini智能分析功能

谷歌周三宣布推出经过重新设计的趋势探索页面&#xff0c;该页面现在配备了由Gemini驱动的新功能&#xff0c;能够自动识别和比较与用户搜索相关的趋势。这项更新从今天开始在桌面端推出。趋势探索页面一直以来都是内容创作者、记者和研究人员的重要工具&#xff0c;让用户可以…

DocuSign发布AI合同解释功能,但仍需人工核实

是否曾收到过需要通过DocuSign签署的冗长复杂文档&#xff1f;你是否花时间阅读并理解了所有法律要点&#xff1f;大多数人都不会。这些文档往往充满复杂难懂的法律术语&#xff0c;让我们难以理解。现在&#xff0c;DocuSign推出了一项新的AI功能来解决这一问题。DocuSign于周…

Sumsub 年度欺诈报告重磅发布!AI 智能体诈骗 2026 年或全面爆发

未来的验证系统不仅需要确认你是谁&#xff0c;还需要确认操作背后是真实用户还是AI智能体。 Sumsub最新发布的《2025-2026年身份欺诈报告》中表明&#xff1a;全球身份欺诈率整体看似趋于稳定&#xff0c;但高质量攻击在过去一年间激增了180%。 该报告分析了数百万次验证检查和…

VoiceRun获得550万美元融资,打造语音智能体开发工厂

Nicholas Leonard和Derek Caneja最初想构建AI语音智能体&#xff0c;但在产品开发过程中&#xff0c;他们发现许多语音智能体存在设计缺陷。一些智能体使用无代码工具构建&#xff0c;虽然能快速投入生产&#xff0c;但产品质量往往较低。而其他智能体则由那些有时间和资源花费…

毕设实战:基于GFNet的轻量级Neck网络设计与性能优化(超详细落地教程)

文章目录 毕设实战:基于GFNet的轻量级Neck网络设计与性能优化(超详细落地教程) 一、项目背景与技术选型 二、环境搭建(10分钟完成) 2.1 依赖安装 2.2 数据集准备 三、GFNet轻量级Neck的代码实现 3.1 GFNet核心模块解析 3.2 替换YOLOv8的Neck结构 四、模型训练与验证 4.1 训…

【毕设级项目】YOLOv8+多尺度卷积注意力(MSCA):小目标检测精度飙升20%的实战教程

文章目录 【毕设级项目】YOLOv8+多尺度卷积注意力(MSCA):小目标检测精度飙升20%的实战教程 一、项目核心:什么是MSCA注意力? 二、环境准备:5分钟配置依赖 三、步骤1:编写MSCA注意力模块(MSCA.py) 四、步骤2:注册MSCA模块(修改tasks.py) 五、步骤3:编写YOLOv8+MSCA…

SkyFi获得1270万美元融资,将卫星图像转化为深度洞察

地球轨道上有数千颗卫星&#xff0c;越来越多的卫星能够近乎实时地捕获各种类型的图像。过去&#xff0c;获取这些图像的过程相当繁琐。但总部位于奥斯汀的初创公司SkyFi构建了一个平台&#xff0c;充当着超过50家地理空间图像合作伙伴的"Getty Images"&#xff0c;在…

django-flask基于python的个人健康助理咨询平台的设计与实现

目录设计背景与目标技术架构与功能模块关键技术实现应用价值与创新点总结关于博主开发技术路线相关技术介绍核心代码参考示例结论源码lw获取/同行可拿货,招校园代理 &#xff1a;文章底部获取博主联系方式&#xff01;设计背景与目标 随着健康管理需求的增长&#xff0c;基于P…

【毕设级项目】YOLOv8+多尺度卷积注意力(MSCA):小目标检测性能飙升实战教程

文章目录 【毕设级项目】YOLOv8+多尺度卷积注意力(MSCA):小目标检测性能飙升实战教程 引读:为什么选这个项目? 一、核心原理:多尺度卷积注意力(MSCA)是什么? 二、环境准备:5分钟搭好开发环境 1. 基础依赖安装 三、模块植入:3步把MSCA加到YOLOv8里 步骤1:编写MSCA注…

LiveTalking本地化部署指南

LiveTalking 介绍 LiveTalking 是一个开源的实时交互数字人系统&#xff0c;通过多模态AI技术实现语音驱动的虚拟形象生成&#xff0c;支持低延迟视频流输出&#xff0c;适用于虚拟客服、直播、教育等多种场景。‌ github地址&#xff1a;https://github.com/lipku/LiveTalki…

django-flask基于python的个人健康管理系统的设计和实现

目录设计背景与目标系统架构与功能技术实现与创新应用价值与展望关于博主开发技术路线相关技术介绍核心代码参考示例结论源码lw获取/同行可拿货,招校园代理 &#xff1a;文章底部获取博主联系方式&#xff01;设计背景与目标 随着健康意识的提升&#xff0c;个人健康管理系统成…

Gemini3现在能做这种地图轨迹动画了,免费就能体验!

大家好&#xff0c;我是轩辕。 有段时间刷短视频经常刷到各种历史人物一生的足迹图&#xff1a;有一天我在想&#xff1a;这种动画能不能让AI给我做呢&#xff1f; 于是我打开各种AI工具&#xff0c;尝试了一番。 这是最新的ChatGPT 5.2做的&#xff1a;这是Gemini3 Pro做的&am…

*面向工业场景的高效目标检测系统:基于BiFPN与注意力机制的YOLOv8架构优化与实现

文章目录 **面向工业场景的高效目标检测系统:基于BiFPN与注意力机制的YOLOv8架构优化与实现** **第一章:核心技术架构——双向特征金字塔与注意力协同** **第二章:项目环境配置与数据预处理** **第三章:改进模块完整实现** **第四章:完整网络架构配置** **第五章:优化训练…

基于ollama、llamafile部署的大模型使用

一、ollama方式1.本地部署ollama部署方式&#xff1a;见本地部署ollama博客内容2.基于langchain使用from langchain_ollama.chat_models import ChatOllama llm ChatOllama(model"deepseek-r1:8b", # 与本地 ollama run 的模型名保持一致base_url"htt…

django-flask基于python的个人学习任务挑战系统 学习助手软件设计与实现

目录摘要关于博主开发技术路线相关技术介绍核心代码参考示例结论源码lw获取/同行可拿货,招校园代理 &#xff1a;文章底部获取博主联系方式&#xff01;摘要 基于Python的Django-Flask个人学习任务挑战系统旨在帮助用户高效管理学习任务&#xff0c;提升学习动力与效率。系统结…