Java项目配置不同数据库链接差异

简介

由于部署服务器限制或甲方需求,在项目最后交付环境可能会有要使用不同数据库的情况,为方便代码维护要做到代码的最小化改动。最优是不改变代码的情况下进行数据库的配置,(可能也会出现由于数据库的差异,一些sql语法也要修改)

MySQL5.7

jdbc:mysql://ip:port/electronicseal_evidence?useUnicode=true;characterEncoding=UTF-8;autoReconnect=true;useSSL=false;serverTimezone=Asia/Shanghai;zeroDateTimeBehavior=convertToNull
    

概要

  1. 通过添加zeroDateTimeBehavior参数来设置其行为。convertToNull:将零日期时间值转换为NULL‌
  2. 通过添加serverTimezone参数来设置数据库链接时区。
  3. 默认使用useSSL=false,即不进行SSL加密连接,直接通过用户账号和密码进行连接。
  4. 通过设置useUnicode=true,可以确保数据在传输过程中使用Unicode编码,从而避免乱码问题‌
  5. autoReconnect参数在数据库连接中断时会自动尝试重新连接。

MySQL8

drivers=com.mysql.cj.jdbc.Driver
url=jdbc\:mysql\://127.0.0.1\:3306/cloudsealv4qjgjj?userUnicode\=true&characterEncoding\=utf-8&allowMultiQueries\=true&useSSL\=false&createDatabaseIfNotExist\=true&serverTimezone\=GMT

概要

  1. 默认使用SSL加密连接,即useSSL=true,需要通过证书或令牌进行安全验证。
  2. allowMultiQueries用于控制是否允许在一次数据库连接中执行多个SQL查询。当该参数设置为true时,可以在一次数据库连接中执行多个SQL语句,包括INSERT、UPDATE、DELETE和SELECT等操作。而当该参数设置为false时,只能执行单个SQL查询‌

人大金仓

driver=com.kingbase8.Driver url=jdbc\:kingbase8\://192.168.9.84\:54321/cloudsealv4rdjc?currentSchema\=cloudsealv4njhg,productName\=PostgreSQL,SYS_CATALOG,PUBLIC

概要

一些国产化的服务端会要求使用人大金仓数据库

  1. currentSchema限定数据库对象引用的模式名称

达梦数据库

url: jdbc:dm://ip:port/database?schema=database&zeroDateTimeBehavior=convertToNull&useUnicode=true&characterEncoding=UTF-8

概要

  1. Schema(模式)是用于定义数据结构与关系的蓝图。在链接数据库上加上可避免修改SQL

SQLServer

你可能感兴趣的:(java,数据库,开发语言)