java读取配置文件并使用

思维导图:需要创建的文件和类:首先建立DBConfig.property文件--->创建类DBUtil---->创建其他使用该类的方法

(1)读取过程及初步理解:首先DBUtil类中通过 Properties prop = new Properties();的prop.load(this.getClass().getClassLoader().getResourceAsStream("com/util/DBConfig.property"));加载配置文件,

url = prop.getProperty("MYSQLURL");
password = prop.getProperty("password");
user = prop.getProperty("user");
driver = prop.getProperty("MYSQLDriver");
Class.forName(driver);

通过以上对驱动进行加载。

再将该驱动加载对象作为返回值return DriverManager.getConnection(url,user,password);

悟:理解了原理,其实就是读取文件对象,赋值,然后将带着配置信息的数据对象返回给其他类/对象使用的过程。

详细如下:

1、配置文件(com/util/DBConfig.property)

#数据库类型:1为MYSQL,默认为1
DBType=1

#MYSQL 数据库连接信息
#MYSQL 数据库驱动程序
MYSQLDriver=com.mysql.jdbc.Driver

#MYSQL数据库连接字符串
#127.0.0.1:3306 为数据库地址和端口
#love 为数据库名,user为登录名,password为登录密码。请自行更改
MYSQLURL=jdbc:mysql://127.0.0.1:3306/love?user=root&password=123456&useUnicode=true&characterEncoding=UTF-8

#您还可以添加其他的数据库

 

2、读取数据库文件以及在main方法中测试(DBUtil)

package com.util;

import java.io.IOException;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import java.util.Properties;


public class DBUtil {
public Connection getConn() {

Properties prop = new Properties();
String url = null;
String password = null;
String user = null;
String driver = null;

try {
prop.load(this.getClass().getClassLoader().getResourceAsStream("com/util/DBConfig.property"));
url = prop.getProperty("MYSQLURL");
password = prop.getProperty("password");
user = prop.getProperty("user");
driver = prop.getProperty("MYSQLDriver");
Class.forName(driver);
return DriverManager.getConnection(url,user,password);
} catch (ClassNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
} catch (SQLException e) {
e.printStackTrace();
}

return null;
}
public static void main(String[] args) {
DBUtil sConnection = new DBUtil();
Connection connection = sConnection.getConn();
Statement statement = null;
ResultSet set = null;
try {
statement = connection.createStatement();
set = null;
String sql = "select *from user order by id desc;";
set = statement.executeQuery(sql);
if(!set.next()){//判断如果没有记录
System.out.println("没有记录");
}else {
while (set.next()) {
System.out.println(set.getString("uname"));
}
}
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}finally{
try {
set.close();
statement.close();
connection.close();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}


}
}

3、测试结果:

 

posted @ 2019-04-02 23:06  CiscoLee  阅读(1241)  评论(1编辑  收藏  举报