将 JDBC 数据源配置设置为 XML
Setting JDBC dataource configurations into an XML
我正在使用 c3p0
作为我的 JDBC 数据源,我想知道是否有办法将所有连接凭据抽象到 XML 配置文件中,而不是将其放在我的 java class?
比如我现在的是:
ComboPooledDataSource cpds = new ComboPooledDataSource();
cpds.setDriverClass( "org.oracle.Driver" ); //loads the jdbc driver
cpds.setJdbcUrl( "jdbc:oracle://localhost/testdb" );
cpds.setUser("dbuser");
cpds.setPassword("dbpassword");
我想知道我是否可以将所有这些抽象成一个类似于 spring JDBC 的 XML 配置文件?
此外,处理具有不同连接凭据的多个不同数据库的最佳做法是什么?对于这些情况,我目前拥有的是条件 if 语句,因此如果您在 QA 环境中,则凭据是...,如果是 DEV 环境,则凭据是...等等。但是,我认为这不是很好的做法。我还可以将不同的数据库环境抽象到一个 XML 配置文件中吗?
I am wondering if there is a way to abstract all the connection
credentials into an XML configuration file instead of placing it in my
java class?
是的,您可以使用 Properties
对象的 XML
格式在 XML
文件中定义所有密钥,然后使用 Properties#loadFromXML(InputStream)
.
例如,这里您的 XML
文件可以是:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE properties SYSTEM "http://java.sun.com/dtd/properties.dtd">
<properties>
<entry key="driverClassName">org.oracle.Driver</entry>
<entry key="jdbcUrl">jdbc:oracle://localhost/testdb</entry>
<entry key="user">dbuser</entry>
<entry key="password">dbpassword</entry>
</properties>
然后你将加载它如下:
Properties properties = new Properties();
try (InputStream is = new FileInputStream(file)){
properties.loadFromXML(is);
}
从这里您可以使用方法 getProperty(key)
or getProperty(key, defaultValue)
来访问不同键的值。
我正在使用 c3p0
作为我的 JDBC 数据源,我想知道是否有办法将所有连接凭据抽象到 XML 配置文件中,而不是将其放在我的 java class?
比如我现在的是:
ComboPooledDataSource cpds = new ComboPooledDataSource();
cpds.setDriverClass( "org.oracle.Driver" ); //loads the jdbc driver
cpds.setJdbcUrl( "jdbc:oracle://localhost/testdb" );
cpds.setUser("dbuser");
cpds.setPassword("dbpassword");
我想知道我是否可以将所有这些抽象成一个类似于 spring JDBC 的 XML 配置文件?
此外,处理具有不同连接凭据的多个不同数据库的最佳做法是什么?对于这些情况,我目前拥有的是条件 if 语句,因此如果您在 QA 环境中,则凭据是...,如果是 DEV 环境,则凭据是...等等。但是,我认为这不是很好的做法。我还可以将不同的数据库环境抽象到一个 XML 配置文件中吗?
I am wondering if there is a way to abstract all the connection credentials into an XML configuration file instead of placing it in my java class?
是的,您可以使用 Properties
对象的 XML
格式在 XML
文件中定义所有密钥,然后使用 Properties#loadFromXML(InputStream)
.
例如,这里您的 XML
文件可以是:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE properties SYSTEM "http://java.sun.com/dtd/properties.dtd">
<properties>
<entry key="driverClassName">org.oracle.Driver</entry>
<entry key="jdbcUrl">jdbc:oracle://localhost/testdb</entry>
<entry key="user">dbuser</entry>
<entry key="password">dbpassword</entry>
</properties>
然后你将加载它如下:
Properties properties = new Properties();
try (InputStream is = new FileInputStream(file)){
properties.loadFromXML(is);
}
从这里您可以使用方法 getProperty(key)
or getProperty(key, defaultValue)
来访问不同键的值。