2.2.2 JDBC数据源
如果你希望将URule Pro的规则存储在指定的数据源中,你可以使用JDBC数据源:
JDBC数据源利用DBCP配置数据源,配置界面如下:
支持多种类型的数据源,例如:
- 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
验证链接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