InputStream inputStream = TestProperties.class.getClassLoader().getResourceAsStream(“jdbc.properties”);
这行代码就相当于插了一根吸管在 jdbc.properties 文件上面,准备抽取里面的信息。
p.load(inputStream);
这行代码表示将吸管和 Properties 对象接通。
额,如果实在没有Java IO的基础,就暂时这么想象一下吧。。。
System.out.println§;
输出:
{db.password=, db.dataBaseName=article, db.username=root}
分开来打印:
System.out.println(p.getProperty(“db.username”));
System.out.println(p.getProperty(“db.password”));
System.out.println(p.getProperty(“db.dataBaseName”));
输出:
root
article
(因为密码为空,所以没显示出来)
这样的话,加载资源文件也没有问题了。
06 开始封装自己的DataBaseUtils
DataBaseUtils的意思就是数据库工具类,你可以把这个看成是一个自己的小框架。
我们已经知道要访问数据库的话,需要有username,password,还有dataBaseName。所以,这三个数据就作为工具类的属性吧。
private static String username; //用户名
private static String password; //密码
private static String dataBaseName; //数据库名
接下来,专门定义一个方法来加载properties。
/**
-
配置数据库的基本信息
-
@return void
*/
public static void config(String path){
InputStream inputStream = DataBaseUtils.class.getClassLoader().getResourceAsStream(path);
Properties p = new Properties();
try {
p.load(inputStream);
username = p.getProperty(“db.username”);
password = p.getProperty(“db.password”);
dataBaseName = p.getProperty(“db.dataBaseName”);
} catch (IOException e) {
e.printStackTrace();
}
}
一旦调用了这个方法,那么就会给私有属性赋值。
为了方便起见,我们让DataBaseUtils类被加载的时候就自动配置 jdbc.properties,比较容易想到的一个方法就是定义一个static块,然后在里面调用一下 config 方法:
static {
config(“jdbc.properties”);
}
这样一来,只要你调用了这个DataBaseUtils中的方法,就会自动配置连接信息了。
获取连接的方法:
/**
-
获取数据库链接
-
@return Connection
*/
public static Connection getConnection(){
Connection connection = null;
try {
Class.forName(“com.mysql.jdbc.Driver”);
connection = DriverManager.getConnecti