百度360必应搜狗淘宝本站头条
当前位置:网站首页 > 技术文章 > 正文

基于mysql的shiro项目转oracle数据库

ccwgpt 2024-11-27 12:24 33 浏览 0 评论

1、问题说明

改造以前的一个shiro项目,以前数据库用的mysql,要更改成oracle,记录下,希望能帮到有需要的朋友。

2、解决方案

因为数据库中表结构,也就6个张表(5个权限表+一个日志表),原方案是想根据数据库字段,转到pownerdesigner中,然后再转出来,后来发现太麻烦放弃了。

2.1 使用navicat premium

(1)通过navicat premimum 连接oracle数据库。

(2) 选中数据库,右键选中转储SQL文件,然后选择仅结构,就能导出oracle建表sql了。

2.2 oracle sql 与mysql的不同点

(1)cancat函数,连接字符串。

mysql中可以连接多个字符串;oracle只能连接两个,需要连接多个的话,oracle中需要做嵌套。

mysql中:

SELECT count(0)
FROM sys_user su_a
LEFT JOIN sys_user su_b
ON su_b.id = su_a.create_id
LEFT JOIN sys_user su_c
ON su_c.id = su_a.update_id
WHERE su_a.deleted = 1 AND su_a.username LIKE concat('%', '老王', '%');

在oracle中执行

报错信息:

网上说明:

软件老王真实使用情况,oracle中多个concat嵌套:

mybatis中使用:

(2)oracle中不能执行insert values插入多条记录。

(3)通过navivat或者pownerdesiner导出的oracle建表语句,需要把双引号或者单引号替换为空,否则会出现大小写问题,导致一些不必要的问题。

(4)给oracle中表字段设置默认值

导出的后默认值可能会没了,假如没有了,需要设置下。

如下:alter table 表名称 modify 字段名 default 具体值;

例如:alter table sys_user modify status default 1;

(5)老shiro项目中,没有用到自增主键,用的逻辑主键,所以没有主键问题,假如用到mysql项目中用到自增主键的朋友,还是有些问题的,mysql可以直接设置自增主键,oracle中需要新建sequence。


更多信息请关注@软件老王,关注不迷路,软件老王和他的IT朋友们,分享一些他们的技术见解和生活故事。

相关推荐

ComfyUI技术优势解析(comfyview技术)

关于ComfyUI在Python工作流领域的突破性表现,其技术架构和生态设计确实展现了革命性的创新。以下从技术演进角度剖析其核心优势:一、图结构执行引擎的范式突破动态DAG拓扑算法实时依赖解析器采用增...

基于深度研究的生成式AI应用开发(深度研究什么意思)

“到2025年,RAG就死了。它已经被解决、重复过无数次了。它已经不再是什么新东西了。”最近我听到一位机器学习工程师这样说。确实,在2025年与客户讨论生成式人工智能用例时,我发现标准的RAG通常无法...

Anthropic发布ClaudeCode最佳实践指南,助力开发者无缝集成

Anthropic近日发布了一份详尽的ClaudeCode最佳实践指南,为开发者提供了一个以命令行界面(CLI)为核心的低层次工具,旨在将Claude大语言模型无缝融入日常编程任务中。这一...

中信建投:端到端训练开启Agent新范式 四月国产Agent迎集中发布潮

【中信建投:端到端训练开启Agent新范式四月国产Agent迎集中发布潮】财联社4月1日电,中信建投表示,当前预训练大模型边际收益受制于ScalingLaw已经逐渐达到瓶颈,更强大的Agent(智...

中信建投:未来国产第三代智能体将展现出巨大的竞争力

每经AI快讯,中信建投表示,当前预训练大模型边际收益受制于ScalingLaw已经逐渐达到瓶颈,更强大的Agent(智能体)成为大模型厂商未来发力的重要方向。根据agent的技术框架,其发展基本经历...

效率暴增300%!2025年职场人必学的5大核心法则

效率暴增300%!2025年职场人必学的5大核心法则(标题公式:数字+痛点+悬念,触发点击欲望)一、开篇钩子:从“时间贫困”到“效率自由”的觉醒“凌晨2点,我第7次打开今日头条后台,看着刚破万的阅读量...

Coze 工作流:打造文字生成图片的高效利器

在当今数字化时代,图像生成技术正以惊人的速度发展,为创作者带来了无限可能。Coze工作流,作为一款强大的工具,能够帮助我们轻松实现从文字到图片的快速转化,让创意瞬间可视化。接下来,就让我们一起走进...

5 分钟搭建 Node.js 微服务原型(node 微服务架构)

微服务已成为在Node.js中构建可扩展且强大的云应用的主流方法。同时也存在一些门槛,其中一些难点需要你在以下方面做出决策:组织项目结构。将自定义服务连接到第三方服务(数据库,消息代理等)处理微服...

当前的前端,真的不配叫程序员吗?

今天看到一个比较令人震惊的帖子,说前端不配叫程序员,令我很吃鲸,是谁我就不说了,帖子出处是一个大龄程序员组里面的,想想也不觉得奇怪了,毕竟对于年龄比较大的程序员来说,前端起步比较晚,最开始就是一个切图...

聊聊asp.net中Web Api的使用(asp.net core web api教程)

扯淡随着app应用的崛起,后端服务开发的也越来越多,除了很多优秀的nodejs框架之外,微软当然也会在这个方面提供更便捷的开发方式。这是微软一贯的作风,如果从开发的便捷性来说的话微软是当之无愧的老大哥...

NodeJS中,listen Access:permission denied解决办法

错误描述:Win10系统,NodeJS程序。使用express框架开发的http服务器,启动时出现错误提示“listenAccess:permissiondenied"。错误原因:这是由于...

Hono — 下一代高性能web框架(天融信下一代vnp)

最近公司可能要有变革,要统计我们的技能。真的是很无语,但是有没有办法。哎,问豆包吧提起Hono大家可能很陌生,这是什么?但是我提到Expressjs、nodejs想必前端小伙伴很熟悉啊。那么Hon...

生活例子说明线程,简单明了(列举一个日常生活中的例子以程序的形式表示)

1.程序设计的目标在我看来单从程序的角度来看,一个好的程序的目标应该是性能与用户体验的平衡。当然一个程序是否能够满足用户的需求暂且不谈,这是业务层面的问题,我们仅仅讨论程序本身。围绕两点来展开,性能...

Node实战006:自定义模块的创建和使用详解

Node的应用是由模块组成的,每个文件的定义都是一个模块(module变量代表当前模块)并有自己的作用域。Node遵循commonjs的模块规范,用来隔离每个模块的作用域,使每一个模块在自身的命名空间...

Node.js基本内容和知识点(node.js的概念)

简单的说Node.js就是运行在服务端的JavaScript,起初段定位是后端开发语言,由于技术的不够成熟,一般小型项目会完全使用node.js作为后台支撑,大项目中,运行不够稳定,不会轻易使用...

取消回复欢迎 发表评论: