IDEA创建的Gradle项目无法读取jdbc.properties配置文件
一、首先创建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目录图标,确保新建的目录如图中一致,完成之后即可正常读取配置文件