java通過配置屬性檔案連線Oracle資料庫
阿新 • • 發佈:2019-02-13
做web專案開發中,通過配置屬性檔案實現連線資料庫(Oracle)的功能。
1.將屬性檔案放在WEB-INF/classes目錄下
例如屬性檔案:demo_db.properties
DRIVERS=oracle.jdbc.driver.OracleDriver
URL=jdbc:oracle:thin:@localhost:1521:MyOra USER=user
PASSWORD=123456 2.寫一個連線資料庫的類 例如:DBUtils.java
URL=jdbc:oracle:thin:@localhost:1521:MyOra USER=user
PASSWORD=123456 2.寫一個連線資料庫的類 例如:DBUtils.java
- package com.ctcjz.db;
- import java.sql.Connection;
- import java.sql.DriverManager;
- import java.sql.ResultSet;
- import java.sql.SQLException;
- import java.sql.Statement;
- import java.util.ResourceBundle;
- publicclass DBUtils {
- privatestaticfinal String OPTION_FILE_NAME = "demo_db";
- privatestatic String drivers;
- privatestatic String url;
- privatestatic String user;
- privatestatic String password;
- static {
- ResourceBundle res = ResourceBundle.getBundle(OPTION_FILE_NAME);
- drivers = res.getString("DRIVERS").trim();
- url = res.getString("URL").trim();
- user = res.getString("USER").trim();
- password = res.getString("PASSWORD").trim();
- }
- publicstatic Connection getConnection() throws SQLException {
- Connection conn = null;
- try {
- Class.forName(drivers).newInstance();
- conn = DriverManager.getConnection(url, user, password);
- } catch (Exception e) {
- e.printStackTrace();
- }
- if (conn == null) {
- thrownew SQLException("ctcjz.DBUtils: Cannot get connection.");
- }
- return conn;
- }
- publicstaticvoid close(Connection conn) {
- if (conn == null)
- return;
- try {
- conn.close();
- } catch (SQLException e) {
- System.out.println("ctcjz.DBUtils: Cannot close connection.");
- }
- }
- publicstaticvoid close(Statement stmt) {
- try {
- if (stmt != null) {
- stmt.close();
- }
- } catch (SQLException e) {
- System.out.println("ajax.DBUtils: Cannot close statement.");
- }
- }
- publicstaticvoid close(ResultSet rs) {
- try {
- if (rs != null) {
- rs.close();
- }
- } catch (SQLException e) {
- System.out.println("ctcjz.DBUtils: Cannot close resultset.");
- }
- }
- }
- //獲取指標列表
- String getAreaList() {
- JSONArray array = new JSONArray(); //定義JSON陣列
- String sql = "select AREACODE,AREANAME,STATUS from modelarea";//定義SQL語句
- Connection conn = null; //宣告Connection物件
- PreparedStatement pstmt = null; //宣告PreparedStatement物件
- ResultSet rs = null; //宣告ResultSet物件
- try {
- conn = DBUtils.getConnection(); //獲取資料庫連線
- pstmt = conn.prepareStatement(sql); //根據sql建立PreparedStatement
- rs = pstmt.executeQuery(); //執行查詢,返回結果集
- while (rs.next()) {
- JSONObject obj = new JSONObject();
- obj.put("areaCode", rs.getString(1));
- obj.put("areaName", rs.getString(2));
- obj.put("status", rs.getString(3));
- array.add(obj);
- }
- } catch (SQLException e) {
- System.out.println(e.toString());
- } finally {
- DBUtils.close(rs); //關閉結果集
- DBUtils.close(pstmt); //關閉PreparedStatement
- DBUtils.close(conn); //關閉連線
- }
- return array.toString();
- }