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