数据库配置范例
一 MySQL 配置范例
数据库配置(文件dbcp.properties)如下
########DBCP##########
driverClassName=com.mysql.cj.jdbc.Driver
#url
url=jdbc:mysql://ip:3306/iidp?useUnicode=true&characterEncoding=UTF-8&zeroDateTimeBehavior=convertToNull&useSSL=false&allowPublicKeyRetrieval=true
username=root
password=123456
initialSize=5
maxActive=30
minIdle=5
maxWait=6000
filters=stat
timeBetweenEvictionRunsMillis=60000
minEvictableIdleTimeMillis=300000
validationQuery=select 'x'
testOnBorrow=false
testOnReturn=false
testWhileIdle=true
poolPreparedStatements: true
maxOpenPreparedStatements: 20
二 Oracle 配置范例
数据库配置(文件dbcp.properties)如下
########Oracle########
driverClassName=oracle.jdbc.OracleDriver
url=jdbc:oracle:thin:@ip:1521:SMOMDB
username=root
password=123456
validationQuery=SELECT 'x' FROM DUAL
initialSize=5
maxActive=30
minIdle=5
maxWait=6000
filters=stat
timeBetweenEvictionRunsMillis=60000
minEvictableIdleTimeMillis=300000
validationQuery=select 'x'
testOnBorrow=false
testOnReturn=false
testWhileIdle=true
poolPreparedStatements: true
maxOpenPreparedStatements: 20
三 PostgreSQL 配置范例
-
DBCP 配置
########postgresql######## driverClassName=org.postgresql.Driver url=jdbc:postgresql://xxx.xxx.120:5432/postgres?currentSchema=public&encoding=UTF-8&timezone=UTC username=postgres password=****** initialSize=5 maxActive=30 minIdle=5 maxWait=6000 filters=stat timeBetweenEvictionRunsMillis=60000 minEvictableIdleTimeMillis=300000 validationQuery=select 'x' testOnBorrow=false testOnReturn=false testWhileIdle=true poolPreparedStatements: true maxOpenPreparedStatements: 20
四 OceanBase 配置范例
1. JDBC 连接配置调整
JDBC 连接示例:
driverClassName=com.mysql.cj.jdbc.Driver
url=jdbc:oceanbase://xxx.xxx.xxx.xxx:3306/test?rewriteBatchedStatements=TRUE&allowMultiQueries=TRUE&useLocalSessionState=TRUE&useUnicode=TRUE&characterEncoding=utf-8&socketTimeout=10000&connectTimeout=30000
username=root
password=******
-
allowMultiQueries:默认为
FALSE,必须设置为TRUE,以允许使用分号连接的多语句文本格式。对使用文本协议的场景,只需开启此配置即可实现批量优化。 -
rewriteBatchedStatements:默认为
FALSE,若使用 PS 协议,则必须设置为TRUE,以在执行executeBatch()时将多条语句改写为分号连接的多语句格式。
特例说明:开启 rewriteBatchedStatements 后,对于多条 multi queries 插入语句(无论使用文本协议或 PS 协议),JDBC 驱动会将其改写为一条 Multi Values Insert 语句。
相关参数说明:
-
rewriteBatchedStatements:建议设置为TRUE,以提高批量插入的性能。 -
allowMultiQueries:建议设置为TRUE,允许使用分号连接的多语句文本格式。 -
useLocalSessionState:建议设置为TRUE,避免频繁向 OB 数据库发送 session 变量查询 SQL。 -
socketTimeout:执行 SQL 时,socket 等待 SQL 返回的时间。 -
connectTimeout:建立连接时,等待连接的时间。 -
useCursorFetch:建议设置为TRUE,适用于大数据量查询。 -
useServerPrepStms:控制是否使用 PS 协议发送 SQL。 -
cachePrepStmts:控制是否开启 PS cache,避免重复执行 prepare。 -
prepStmtCacheSQLLimit:可放入 PS cache 的 SQL 长度限制。 -
prepStmtCacheSize:PS cache 可保存的 SQL 数量。 -
maxBatchTotalParamsNum:针对 batch 操作,一条 SQL 最多支持的参数个数。
2. 本地 JDBC连接 OceanBase
dbcp.properties添加oceanbase配置
########OceanBase########
driverClassName=com.mysql.cj.jdbc.Driver
url=jdbc:mysql://xxx.xxx.xxx.xxx:2881/snest?rewriteBatchedStatements=TRUE&allowMultiQueries=TRUE&useLocalSessionState=TRUE&useUnicode=TRUE&characterEncoding=utf-8&socketTimeout=10000&connectTimeout=30000&zeroDateTimeBehavior=convertToNull&allowPublicKeyRetrieval=true
username=root
password=******
validationQuery=SELECT 1
五 GaussDB 配置范例
JDBC配置:
1. dbcp.properties 示例:
########DBCP##########
initialSize=5
maxActive=2000
minIdle=5
filters=stat
maxWait=6000
timeBetweenEvictionRunsMillis=60000
minEvictableIdleTimeMillis=1800000
testOnBorrow=false
testOnReturn=false
testWhileIdle=true
poolPreparedStatements: true
maxOpenPreparedStatements: 20
connectionProperties:druid.stat.sql.MaxSize=100;
keepAlive=true
########gaussdb########
driverClassName=com.huawei.gaussdb.jdbc.Driver
url=jdbc:gaussdb://127.0.0.1:8000,127.0.0.1:8000,127.0.0.1:8000/tpcc?currentSchema=snest_jichen&autoBalance=true&refreshCNIpListTime=3&prepareThreshold=1&batchMode=on&fetchsize=10&loggerLevel=OFF
username=******
password=******
validationQuery=SELECT 1
gaussdbDeployment=Distributed
2. spring配置文件添加参数适配高斯自定义SQL列字段别名转换
正常不需要添加这个配置,除非项目特殊需要.
application-dev.properties添加:
orm.sql.wrap_camelcase_alias=true
六 Vastbase(海量数据库) 配置范例
Vastbase 海量数据库基本上兼容Postgres SQL,所以SQL语法和Postgres一样,可以直接把Vastbase作为Postgres使用.
JDBC配置:
1 默认兼容模型
vastbase数据库访问
########DBCP##########
driverClassName=cn.com.vastbase.Driver
url=jdbc:vastbase://ip:25432/snest?currentSchema=snest_changwen
username=root
password=******
########snest_DBCP##########
driverClassName=org.postgresql.Driver/cn.com.vastbase.Driver
url=jdbc:vastbase://ip:25432/snest?currentSchema=snest_ziyang
username=root
password=******
2 MySQL兼容模型
vastbase数据库访问
数据库:snest_tpcc 端口:25434 用户名:snest_changwen
########DBCP##########
driverClassName=cn.com.vastbase.Driver
url=jdbc:vastbase://ip:25434/snest_tpcc?currentSchema=snest_changwen&db_compatibility=mysql
username=root
password=******
dbCompatibility=mysql
七 Dameng(国产达梦数据库) 配置范例
配置数据库连接信息 在 dbcp.properties 配置连接信息如下:
########dameng##########
driverClassName=dm.jdbc.driver.DmDriver
url=jdbc:dm://ip:30236/IIDP_DEMO
username=SYSDBA
password=SYSDBA001