Ако трябва да превключвате между различни бази данни с помощта на JDBC, можете да съхранявате различна информация, свързана с JDBC връзка към базата данни, във файл със свойства. И след това можете да заредите данните за свойствата на JDBC в изходния код на java, за да ги използвате. Този пример ще ви покаже как да го направите и как можете да използвате предимствата му.
1. Създайте файл с информационни свойства на JDBC.
Първо, трябва да създадете файл със свойства, както е по-долу. В този пример името на файла е JDBCSettings.properties
, и се запазва в C:\WorkSpace
. Съдържанието на файла със свойства е двойки ключ-стойност. И знакът # в началото на всеки ред е знакът за коментари на ред.
Има четири типа информация за JDBC връзка към базата данни, запазена в този файл, те са за Oracle, MySql, PostgreSQL и Microsoft SQL Server. Когато искате да превключвате между горните четири бази данни, можете просто да декомментирате данните за вашата база данни.
# Below are oracle jdbc connection configurations. # db.driver.class=oracle.jdbc.driver.OracleDriver # db.conn.url=jdbc:oracle:thin:@localhost:1521:DataTiger # db.username=system # db.password=manager # Below are Mysql jdbc connection configurations. # db.driver.class=com.mysql.jdbc.Driver # db.conn.url=jdbc:mysql://localhost:3306/test # db.username=root # db.password= # Below are Postgre sql jdbc connection configurations. db.driver.class=org.postgresql.Driver db.conn.url=jdbc:postgresql://localhost:5432/student db.username=postgres db.password=postgres # Below are Microsoft sql server jdbc connection configurations. # db.driver.class=com.microsoft.sqlserver.jdbc.SQLServerDriver # db.conn.url=jdbc:sqlserver://localhost:1433;databaseName=TestDB # db.username=sa # db.password=008632
2. Извличане на данни за JDBC връзка на база данни в Java код.
Сега можете да получите горните данни за връзка във вашия java код, като използвате класа java.util.Properties
както по-долу. Моля, вижте коментарите на кода за подробно обяснение.
public class LoadJDBCSettingsFromPropertiesFileExample { public static void main(String[] args) { try { // Create Properties object. Properties props = new Properties(); String dbSettingsPropertyFile = "C:\\WorkSpace\\JDBCSettings.properties"; // Properties will use a FileReader object as input. FileReader fReader = new FileReader(dbSettingsPropertyFile); // Load jdbc related properties in above file. props.load(fReader); // Get each property value. String dbDriverClass = props.getProperty("db.driver.class"); String dbConnUrl = props.getProperty("db.conn.url"); String dbUserName = props.getProperty("db.username"); String dbPassword = props.getProperty("db.password"); if(!"".equals(dbDriverClass) && !"".equals(dbConnUrl)) { /* Register jdbc driver class. */ Class.forName(dbDriverClass); // Get database connection object. Connection dbConn = DriverManager.getConnection(dbConnUrl, dbUserName, dbPassword); // Get dtabase meta data. DatabaseMetaData dbMetaData = dbConn.getMetaData(); // Get database name. String dbName = dbMetaData.getDatabaseProductName(); // Get database version. String dbVersion = dbMetaData.getDatabaseProductVersion(); System.out.println("Database Name : " + dbName); System.out.println("Database Version : " + dbVersion); } }catch(Exception ex) { ex.printStackTrace(); } } }
Когато стартирате горния изходен код на Java, можете да получите изхода по-долу.
Database Name : PostgreSQL Database Version : 9.6.4