IDEA建立的Gradle專案無法讀取jdbc.properties配置檔案
阿新 • • 發佈:2018-11-09
一、首先建立jdbc.properties檔案,但是用gradle構建的專案目錄結構是如下樣式的
建立jdbc.properties方法:右鍵---new---Resource Bundle---輸入檔名即可建立properties配置檔案
其中jdbc.properties檔案中的內容如下: userName=root password=root driverClass=com.mysql.jdbc.Driver url=jdbc:mysql://127.0.0.1:3306/mysql 二、用於操作JDBC的工具類 import java.io.InputStream; import java.sql.*; import java.util.Properties; public class JDBCUtils { /** * 關閉相關的資源 * @param conn * @param ps * @param rs */ public static void close(Connection conn, PreparedStatement ps, ResultSet rs) { if (conn != null) { try { conn.close(); } catch (SQLException e) { e.printStackTrace(); } } if (ps != null) { try { ps.close(); } catch (SQLException e) { e.printStackTrace(); } } if (rs != null) { try { rs.close(); } catch (SQLException e) { e.printStackTrace(); } } } /** * 關閉相關的資源 * @param conn * @param ps */ public static void close(Connection conn, PreparedStatement ps) { if (conn != null) { try { conn.close(); } catch (SQLException e) { e.printStackTrace(); } } if (ps != null) { try { ps.close(); } catch (SQLException e) { e.printStackTrace(); } } } public static Connection getConnection() throws Exception { //1.從配置檔案中讀取連線的基本資訊 Properties pros = new Properties(); // 預設載入的檔案就在src下 InputStream is = JDBCUtils.class.getClassLoader().getResourceAsStream("jdbc.properties"); pros.load(is); // 讀取4個基本資訊 String userName = pros.getProperty("userName"); String password = pros.getProperty("password"); String driverClass = pros.getProperty("driverClass"); String url = pros.getProperty("url"); //2.載入驅動 Class.forName(driverClass); //3.獲取連線 Connection connection = DriverManager.getConnection(url + "?useUnicode=true&characterEncoding=utf8", userName, password); return connection; } }
注:url 拼接 "?useUnicode=true&characterEncoding=utf8",是因為執行時出現的另一個關於編碼的問題,如果出現此問題,直接在連線的URL後加上?useUnicode=true&characterEncoding=utf8即可
三、已建立好jdbc.properties檔案,測試卻取不出值,出現如下錯誤:
此時很明顯是路徑不對,但是無論是將jdbc.properties檔案放在src根目錄還是main、Java目錄或者其他目錄下都是一樣的錯誤
四、解決方法:
因為getResourceAsStream在這種專案的目錄結構下對應的是resources目錄,若是沒有則需要自己手動建立
建立方法:放在main目錄上右鍵----new---Directory---resources,必須在mian下建立,與java目錄同一層級
建立完後將jdbc.properties拖至新建的resoures目錄下
注意新建的resources目錄圖示,確保新建的目錄如圖中一致,完成之後即可正常讀取配置檔案