2.2.2 JDBC数据源

如果你希望将URule Pro的规则存储在指定的数据源中,你可以使用JDBC数据源:

Jdbc

JDBC数据源利用DBCP配置数据源,配置界面如下:

Jdbc

支持多种类型的数据源,例如:

  • DB2
  • 达梦数据库
  • HSQL
  • MYSQL
  • ORACLE
  • PostgreSQL
  • SqlServer

根据不通的数据源类型设置不通的驱动类,连接URL以及用户名密码。

如果使用JDBC数据源,需要确保当前项目下有对应的JDBC驱动包存在

相关POM的配置参考:

<!-- MYSQL数据库 -->
<dependency>
    <groupId>mysql</groupId>
    <artifactId>mysql-connector-java</artifactId>
    <version>5.1.38</version>
</dependency>
<!-- SQLServer数据库 -->
<dependency>
    <groupId>com.microsoft.sqlserver</groupId>
    <artifactId>mssql-jdbc</artifactId>
    <version>8.4.1.jre8</version>
</dependency>
<!-- Informix数据库 -->
<dependency>
    <groupId>com.ibm.informix</groupId>
    <artifactId>jdbc</artifactId>
    <version>4.50.4.1</version>
</dependency>
<!-- Oracle数据库 -->
<dependency>
    <groupId>com.oracle.ojdbc</groupId>
    <artifactId>ojdbc8</artifactId>
    <version>19.3.0.0</version>
</dependency>
<!-- 达梦数据库 -->
<dependency>
    <groupId>dm</groupId>
    <artifactId>dm-connector-java</artifactId>
    <version>8.1.1.126</version>
</dependency>
<!-- PostgreSQL数据库 -->
<dependency>
  <groupId>org.postgresql</groupId>
  <artifactId>postgresql</artifactId>
  <version>42.2.2</version>
</dependency>
<!-- DB2数据库 -->
<dependency>
    <groupId>com.ibm.db2.jcc</groupId>
    <artifactId>db2jcc4</artifactId>
    <version>10.1</version>
</dependency>

关于验证链接SQL

image-20210922102803507

验证链接SQL对于不通的数据库是有差别的,如果配错数据链接验证就无法通过,这儿列出一些常用数据库的验证SQL:

数据库 验证SQL
HSQL select 1 from INFORMATION_SCHEMA.SYSTEM_USERS
Oracle select 1 from dual
IBM DB2 select 1 from sysibm.sysdummy1
MySQL select 1
Microsoft SQLServer select 1
SQLite select 1
DM SELECT 1;
PostgreSQL select version();
Informix select 1

Spring定义数据源

如果采用Spring配置文件定义数据源,参考配置:

urule.store.database.driver=com.mysql.jdbc.Driver
urule.store.database.password=password
urule.config.type=jdbc
urule.store.database.validationQuery=select 1
urule.store.database.maxIdle=10
urule.store.database.initialsize=0
urule.store.database.platform=mysql
urule.store.database.maxTotal=10
urule.store.database.username=root
urule.store.database.url=jdbc:mysql://localhost:3306/urule?useUnicode=true&characterEncoding=UTF-8
urule.store.database.minIdle=0

results matching ""

    No results matching ""