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

基于Spring和MybatisPlus下的Oracle转mysql语句语法适配修改

    本文讲述了在Spring+MybatisPlus环境中,oracle数据库转为mysql后查询语法和代码的主要修改。

一、insert语句

Oracle的主键采用序列,mysql有自增主键,转成mysql后取消<seleect>序列主键,取消id设置。

Eg: oracle中

<insert id="insertFactoryAbnormalApproval" parameterType="FactoryAbnormalApproval"><selectKey keyProperty="id" resultType="long" order="BEFORE">SELECT seq_factory_abnormal_approval.NEXTVAL as id FROM DUAL</selectKey>insert into factory_abnormal_approval<trim prefix="(" suffix=")" suffixOverrides=","><if test="id != null">id,</if><if test="abnormalId != null">abnormal_id,</if><if test="approval != null">approval,</if></trim><trim prefix="values (" suffix=")" suffixOverrides=","><if test="id != null">#{id},</if><if test="abnormalId != null">#{abnormalId},</if><if test="approval != null">#{approval},</if></trim>
</insert>

Eg: mysql中

<insert id="insertFactoryAbnormalApproval" parameterType="FactoryAbnormalApproval">insert into factory_abnormal_approval<trim prefix="(" suffix=")" suffixOverrides=","><if test="abnormalId != null">abnormal_id,</if><if test="approval != null">approval,</if></trim><trim prefix="values (" suffix=")" suffixOverrides=","><if test="abnormalId != null">#{abnormalId},</if><if test="approval != null">#{approval},</if></trim>
</insert>

二、日期

(1)、日期格式

to_char( , ‘yyyy-MM-dd’) ==>  date_format(, ‘%Y-%m-%d’)

Oracle:

select to_char(t.HAPPEN_TIME,'yyyy-MM-dd') from table_name;

Mysql:

select date_format(t.HAPPEN_TIME,'%Y-%m-%d') from table_name;

(2)、字符串转日期

to_date ==> str_to_date

to_char( , ‘yyyy-MM-dd’) ==>  date_format(, ‘%Y-%m-%d’)

三、返回条数

where rownum<  ==>   limit

四、表别名

mysql中子查询表的别名不能和主查询中相同且子查询必须取别名

Oracle

Select * from (select * from b);

==>

mysql

Select * from (select * from b) alia;

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • 使用Aqua进行WebUI测试(Pytest)——介绍篇(附汉化教程)
  • 合并区间【leetcode】
  • 随笔(1)将 CSV 文件导入 MySQL 时出现中文乱码问题解决方案
  • 【物理教学】不准确温度计图像代码分享
  • 为什么越来越多的人选择开放式耳机?平价高品质蓝牙耳机推荐
  • Django form.save 方法的详细分析
  • 雅特力初步环境准备
  • AI编程工具合集
  • SAP MM模块与FI模块集成之科目配置
  • 学习记录——day42 C++ Lambda表达式
  • C#中的PropertyInfo
  • C++语法基础(一)
  • Oracle(ORA-00210、ORA-00202)控制文件错误
  • Codeforces Round 968 (Div. 2)
  • QT实战项目之音乐播放器
  • 「前端早读君006」移动开发必备:那些玩转H5的小技巧
  • - C#编程大幅提高OUTLOOK的邮件搜索能力!
  • C学习-枚举(九)
  • Java教程_软件开发基础
  • Mac 鼠须管 Rime 输入法 安装五笔输入法 教程
  • node入门
  • PAT A1092
  • SpriteKit 技巧之添加背景图片
  • vue-cli在webpack的配置文件探究
  • Yeoman_Bower_Grunt
  • 对超线程几个不同角度的解释
  • 给初学者:JavaScript 中数组操作注意点
  • 互联网大裁员:Java程序员失工作,焉知不能进ali?
  • 如何优雅的使用vue+Dcloud(Hbuild)开发混合app
  • 使用 QuickBI 搭建酷炫可视化分析
  • 数据科学 第 3 章 11 字符串处理
  • LevelDB 入门 —— 全面了解 LevelDB 的功能特性
  • MPAndroidChart 教程:Y轴 YAxis
  • raise 与 raise ... from 的区别
  • 国内唯一,阿里云入选全球区块链云服务报告,领先AWS、Google ...
  • 如何在招聘中考核.NET架构师
  • ​香农与信息论三大定律
  • ‌U盘闪一下就没了?‌如何有效恢复数据
  • ### Error querying database. Cause: com.mysql.jdbc.exceptions.jdbc4.CommunicationsException
  • $emit传递多个参数_PPC和MIPS指令集下二进制代码中函数参数个数的识别方法
  • ( )的作用是将计算机中的信息传送给用户,计算机应用基础 吉大15春学期《计算机应用基础》在线作业二及答案...
  • (1综述)从零开始的嵌入式图像图像处理(PI+QT+OpenCV)实战演练
  • (Qt) 默认QtWidget应用包含什么?
  • (定时器/计数器)中断系统(详解与使用)
  • (二)Pytorch快速搭建神经网络模型实现气温预测回归(代码+详细注解)
  • (附源码)apringboot计算机专业大学生就业指南 毕业设计061355
  • (七)glDrawArry绘制
  • (全部习题答案)研究生英语读写教程基础级教师用书PDF|| 研究生英语读写教程提高级教师用书PDF
  • (四)docker:为mysql和java jar运行环境创建同一网络,容器互联
  • (图文详解)小程序AppID申请以及在Hbuilderx中运行
  • (一)Docker基本介绍
  • (转)总结使用Unity 3D优化游戏运行性能的经验
  • .NET Core 控制台程序读 appsettings.json 、注依赖、配日志、设 IOptions
  • .NET Core6.0 MVC+layui+SqlSugar 简单增删改查
  • .net解析传过来的xml_DOM4J解析XML文件