我的编程空间,编程开发者的网络收藏夹
学习永远不晚

java项目mysql转postgresql

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

java项目mysql转postgresql

特殊函数 :
mysql:

        find_in_set(?, ancestors)

postgresql:

        ? = ANY (string_to_array(ancestors,','))

mysql:

        date_format(t1.oper_time, '%Y-%m-%d')

postgresql:

        rksj::date

        to_char(inDate,'YYYY-MM-DD')

mysql:

        concat(t1.id, ifnull(t1.perms, ''))

postgresql:

        concat(t1.id, COALESCE(t1.perms,''))

JDBC链接

按顺序访问public、sys、xxx数据库的表,表名不能重复,无需加前缀;

jdbc_url=jdbc:postgresql://127.127.0.1:5432/dbname?currentSchema=public,sys,xxx

仅访问sys库,若系统里面还需要访问xxx数据库,那么必须加前缀加个点 “xxx.”;

jdbc_url=jdbc:postgresql://127.127.0.1:5432/dbname?currentSchema=sys

最后,mysql支持自动类型转换,postgresql是强类型数据库,特别注意数字与字符串在写SQL时候的区分;字符串必须带单引号!

注意,postgresql查询结果集的字段名称,只支持小写!可能会导致设置JavaBean不起作用!



1、使用navicat工具把mysql的数据库复制一份到postgresql中对应的数据库中

修改application-druid.yml的相应的参数
driverClassName: org.postgresql.Driver
url: jdbc:postgresql://localhost:5432/xx_xxx
validationQuery: SELECT 1

修改postgresql数据中qrtz_job_details表中varchar 1为varchar 10,否则运行会提示:对于可变字符类型来说,值太长了(1)

在ScheduleConfig中添加prop.put(“org.quartz.jobStore.driverDelegateClass”, “org.quartz.impl.jdbcjobstore.PostgreSQLDelegate”);

全局替换项目中使用的sysdate()函数为now(),因为postgresql数据库没有sysdate()函数


6、全局替换项目中使用的ifnull()函数为coalesce(),因为postgresql数据库没有ifnull()函数。注意只替换ifnull为coalesce,不带括号。


7、修改部门查询SQL中使用到的find_in_set函数,把 find_in_set(#{deptId}, ancestors) 替换cast(#{deptId} as varchar) = any(string_to_array(ancestors,','))

处理数据库中表的自增问题,mysql数据库支持直接对主键自增,postgresql数据库可更改MySQL主键自增auto_increment为PGSql的序列类型BIGSERIAL

也可通过建立序列的方式来实现对主键的自增,所以需要对所有主键自增的表进行序列创建和关联。完整可执行SQL

--创建用户表ID自增序列
create sequence public.sys_user_id_seq
increment 1
start 200
minvalue 1
maxvalue 99999999
cache 1;

--把序列和用户表ID关联上
alter table public.sys_user alter column user_id set default nextval('public.sys_user_id_seq');

修改Mapper中 status = 0 为 status = ‘0’

修改数据库中的默认值
如:sys_user中的user_type、sex、status、del_flag的默认值

sys_menu 表中的两个属性类型int4改为varchar
12.

来源地址:https://blog.csdn.net/gzxdale/article/details/132556382

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

java项目mysql转postgresql

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

Java开发之普通web项目转为Maven项目的方法

前言Maven是基于项目对象模型(Project Object Model),可以通过一小段描述信息来管理项目的构建、报告和文档的项目管理工具,提供了一个仓库的概念,统一管理项目所依赖的第三方jar包,最大可能避免了由于环境变量的不同在不同
2023-05-30

Java开源项目管理工具大全(转)

Java开源项目管理工具大全(转)[@more@]Ganttproject Ganttproject,基于项目管理的开源项目,为项目经理提供甘特图表来规划管理项目。Ganttproject以XML格式文件存储数据,能够输出PNG和HTML文
2023-06-03

svn项目转移到git

随着软件开发不断发展,版本控制工具也在不断更新。在过去的几年中,Git已经成为了最受欢迎的版本控制工具之一。如果您正在使用SVN,那么转移到Git可能是一项很好的决策。本文将介绍如何将一个SVN项目转移到Git。先决条件在开始转移之前,您需
2023-10-22

在Java项目中如何将对象转换为String

在Java项目中如何将对象转换为String?很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。Java中对象转换为String的常用方法:  方法一:String
2023-05-31

Java项目中对象与Map怎么进行转化

本篇文章给大家分享的是有关Java项目中对象与Map怎么进行转化,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。javabean与map的转换有很多种方式,比如:1、通过Obje
2023-05-31

在Java项目中如何对进制进行转换

在Java项目中如何对进制进行转换?很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。十进制转成十六进制: Integer.toHexString(int i) 十进
2023-05-31

如何在java项目中实现分转元与元转分操作

这篇文章给大家介绍如何在java项目中实现分转元与元转分操作,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。分转元private String fenToYuan(String amount){ NumberForma
2023-06-06

在java项目中怎么对字符串进行反转

在java项目中怎么对字符串进行反转?相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。java 字符串反转的实例详解1、new StringBuffer(“abcde”).reve
2023-05-31

uniapp转换成其他项目

近年来,随着移动互联网的快速发展,移动应用的需求越来越多。不同的平台之间,开发一套符合用户需求的移动应用程序成为一大挑战。由此,跨平台应用程序成为了解决方案之一。作为其中一种跨平台开发技术,uniapp在开发界受到越来越多的关注。但是,一旦在uniapp上开发的应用需要转换到其他平台上,又该如何处理呢?本文将探讨这一问题。1. uniapp的原理和特点uniapp是一种基于vu
2023-05-22

java项目中如何实现集合的相互转换

这篇文章给大家介绍java项目中如何实现集合的相互转换,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。1.List转换为ArrayList list = new ArrayList();
2023-05-31

java项目jsp报错

java项目jsp报错有时在导入maven项目时,jsp页面一直报错,具体解决方法及步骤如下:1、在pom.xml配置文件中添加上javax.servlet的相关依赖: javax.servlet servlet-api 2.5
java项目jsp报错
2019-08-25

Java项目有哪些

这篇文章主要讲解了“Java项目有哪些”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Java项目有哪些”吧!1. JUnitJUnit 是一个Java语言的单元测试框架。它由Kent Bec
2023-06-17

Java 项目中如何将二进制转为十六进制

Java 项目中如何将二进制转为十六进制?针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。Java 中二进制转换成十六进制的两种实现方法每个字节转成16进制,方法1 /**
2023-05-31

编程热搜

目录