核心類結構
public class OracleJdbcTest {
private static final String DRIVER = "oracle.jdbc.driver.OracleDriver";
private Connection con;
public void init(FileInputStream fs) throws Exception {
Properties props = new Properties();
props.load(fs);
String url = props.getProperty("db.url");
String user = props.getProperty("db.user");
String pwd = props.getProperty("db.password");
Class.forName(DRIVER);
con = DriverManager.getConnection(url, user, pwd);
}
public void fetch() throws SQLException {
try (PreparedStatement ps = con.prepareStatement("SELECT SYSDATE FROM dual");
ResultSet rs = ps.executeQuery()) {
while (rs.next()) {
// 處理結果
}
}
}
public static void main(String[] args) throws Exception {
OracleJdbcTest test = new OracleJdbcTest();
test.init(new FileInputStream("db.properties"));
test.fetch();
}
}
關鍵配置
- 驅動類:
oracle.jdbc.driver.OracleDriver (ojdbc6/7/8.jar)
- URL 格式:
jdbc:oracle:thin:@host:port:sid 或 serviceName
- 屬性文件分離配置,便於環境切換
資源管理最佳實踐
- 使用 try-with-resources 自動關閉
ResultSet、Statement、Connection
- 連接池生產必備:HikariCP、Druid、DBCP2
- 異常處理:捕獲
SQLException 記錄 SQLState 與 ErrorCode
常見問題