java项目mysql转postgresql

这篇具有很好参考价值的文章主要介绍了java项目mysql转postgresql。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

java项目mysql转postgresql,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中对应的数据库中

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

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

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

5、全局替换项目中使用的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,','))

8、处理数据库中表的自增问题,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');

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

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

11.sys_menu 表中的两个属性类型int4改为varchar
12.文章来源地址https://www.toymoban.com/news/detail-683579.html

到了这里,关于java项目mysql转postgresql的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 关于JAVA Maven项目连接mysql数据库

      本文作为个人学习笔记 此处使用8.0.28版本,关于mysql更多依赖版本查阅:https://mvnrepository.com/artifact/com.mysql/mysql-connector-j 1、指定驱动器 本部分指定jdbc驱动器类名,使用Class.forName()以加载数据库驱动程序 2、指定数据库 本部分指定所需数据库的url链接,(注:在测试过程中

    2024年04月12日
    浏览(77)
  • java项目之智能仓储系统(ssm+mysql+jsp)

    风定落花生,歌声逐流水,大家好我是风歌,混迹在java圈的辛苦码农。今天要和大家聊的是一款基于ssm的智能仓储系统。技术交流和部署相关看文章末尾!  开发语言:Java 框架:ssm,mybatis JDK版本:JDK1.8 数据库:mysql 5.7+ 数据库工具:Navicat11+ 开发软件:eclipse/idea Maven包:

    2024年02月16日
    浏览(37)
  • 【从0配置JAVA项目相关环境1】jdk + VSCode运行java + mysql + Navicat + 数据库本地化 + 启动java项目

    实验室电脑,需要跑一个前后端分离的JAVA项目,于是开始重新配置 全部(数据库+后端+前端)配置环境+修改代码 耗时6h,包括遇到各种坑,但总体而言弯路走的不多 如果跟着这篇博客走,理论上会避开我遇到的那些坑hh 在当今快速发展的技术世界中,Java仍然是最受欢迎和广

    2024年02月05日
    浏览(44)
  • postgresql迁移到mysql

    1.工具方法:Navicat Premium16 2. 手工方法: 迁移流程 下面是将 Postgresql 数据库迁移到 MySQL 的步骤流程: 步骤 描述 1. 创建MySQL表结构 在MySQL中创建与Postgresql中的表结构相同的表 2. 导出Postgresql数据 将Postgresql中的数据导出为SQL文件 3. 导入MySQL数据 将导出的SQL文件导入到MySQL数据

    2024年01月17日
    浏览(38)
  • MySQL与PostgreSQL对比

    MySQL PostgreSQL 数据类型支持 支持JSON,但不如PostgreSQL 支持更多的数据类型,如数组、hstore、JSON、JSONB、范围类型等 扩展性 有一些扩展性,但不如PostgreSQL 支持自定义数据类型、函数、操作符,具有强大的扩展性 SQL兼容性 遵循SQL标准,但有一些自定义扩展 更接近ANSI SQL标准,

    2024年02月07日
    浏览(42)
  • MySQL && PostgreSQL截取substring

    SUBSTRING( string ,  start ,  length )  OR  SUBSTRING( string  FROM  start  FOR  length ) 或者 Left

    2024年01月21日
    浏览(68)
  • MySQL(七)MySQL和Oracle、PostgreSQL的区别

    本系列文章:    MySQL(一)SQL语法、数据类型、常用函数、事务    MySQL(二)MySQL SQL练习题    MySQL(三)视图、存储过程、索引    MySQL(四)存储引擎、锁    MySQL(五)MySQL架构、数据库优化、主从复制    MySQL(六)SQL语句优化    MySQL(七)MySQL和Oracle、

    2024年01月25日
    浏览(57)
  • 尚硅谷JavaWeb电子书城项目(Java+Mysql+Tomcat+Jsp)

    自己写的在线电子书城项目,可改写,添加功能,如打折,分类,用户管理,评论等功能。 使用方法: 1.使用idea导入项目。 2.数据库要用项目resource文件里的book.sql文件建立。 3.修改jdbc.properites中的数据库信息。 4.使用maven加载pom.xml中的依赖。 5.配置好tomcat容器,运行项目。

    2024年02月04日
    浏览(53)
  • java项目之人才公寓管理系统(ssm+mysql+jsp)

    风定落花生,歌声逐流水,大家好我是风歌,混迹在java圈的辛苦码农。今天要和大家聊的是一款基于ssm的 人才公寓管理系统 。 技术交流和部署相关看文章末尾! 开发语言:Java 框架:ssm,mybatis JDK版本:JDK1.8 数据库:mysql 5.7+ 数据库工具:Navicat11+ 开发软件:eclipse/idea Mav

    2024年02月15日
    浏览(47)
  • PostgreSQL 和 MySQL 技术全面剖析

    本文介绍MySQL和PostgreSQL的一些特性对比,让大家了解二者的优劣,更好的做出选择。当前国内的现状,互联网公司使用MySQL的较多,PostgreSQL的使用比例反而不高,但相信看到PG的新特性后,你会爱上她。当然MySQL作为最流行的数据库,依然会吸引大部分人的眼球。 PostgreSQL标榜

    2024年02月05日
    浏览(54)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包