Als u met JDBC tussen verschillende databases moet schakelen, kunt u verschillende JDBC-verbindingsgerelateerde gegevens over de database opslaan in een eigenschappenbestand. En dan kunt u de JDBC-eigenschappengegevens in de Java-broncode laden om ze te gebruiken. Dit voorbeeld laat u zien hoe u dit moet doen en hoe u de voordelen ervan kunt benutten.
1. Maak een JDBC-informatie-eigenschappenbestand.
Eerst moet u een eigenschappenbestand maken zoals hieronder. In dit voorbeeld is de bestandsnaam JDBCSettings.properties
, en het wordt opgeslagen op C:\WorkSpace
. De inhoud van het eigenschappenbestand bestaat uit sleutel-waardeparen. En het #-teken aan het begin van elke regel is het teken voor regelcommentaar.
Er zijn vier typen database-JDBC-verbindingsgegevens opgeslagen in dit bestand, ze zijn voor Oracle, MySql, PostgreSQL en Microsoft SQL Server. Als u wilt schakelen tussen de bovenstaande vier databases, kunt u de gegevens voor uw database gewoon verwijderen.
# 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. Database JDBC-verbindingsgegevens ophalen in Java-code.
Nu kunt u de bovenstaande verbindingsgegevens in uw Java-code krijgen met behulp van de klasse java.util.Properties
zoals hieronder. Zie de codeopmerkingen voor een gedetailleerde uitleg.
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(); } } }
Wanneer u de bovenstaande Java-broncode uitvoert, kunt u de onderstaande uitvoer krijgen.
Database Name : PostgreSQL Database Version : 9.6.4