数据库连接信息写在properties文件,读取配置文件

时间:2022-03-31 12:00:09

这里是使用mysql数据库。

使用一个mysql.ini文件(就是一个properties文件)来保存数据库连接信息,这是比较成熟的做法———但需要把应用程序

从开发环境移植到生产环境时,无须修改源代码,只需要修改mysql.ini配置文件即可。


凡凡第一看到时候,以为是mysql.ini自带文件,就把mysql里的复制过去。(o(╯□╰)o囧了!!)


下图展示文件及其存放位置。


创建文件

数据库连接信息写在properties文件,读取配置文件


文件内容

数据库连接信息写在properties文件,读取配置文件



文件存放:

①与所要使用类的同级

数据库连接信息写在properties文件,读取配置文件


②直接放在src下

在web中放在src的配置文件会直接加载到classes中

而Java的properties文件需要放到classpath下面,这样程序才能读取到,有关classpath实际上就是java类或者库的存放路径,在java工程中,properties放到class文件一块

原因:读取文件是使用类加载器,而类加载器读取文件,默认是在src下。


class文件一块

操作:

数据库连接信息写在properties文件,读取配置文件

使用如下

public class ExecuteDDL
{
private String driver;
private String url;
private String user;
private String pwd;
public void initParam(String paramFile) throws Exception
{

Properties props= new Properties();
props.load(new FileInputStream(paramFile));
driver = props.getProperty("driver");
url = props.getProperty("url");
user = props.getProperty("user");
pwd = props.getProperty("pwd");
}
public void createTable(String sql) throws Exception
{

Class.forName(driver);
try(

Connection conn = DriverManager.getConnection(url, user, pwd);

Statement stmt = conn.createStatement())
{

stmt.executeUpdate(sql);
}

}
public static void main(String []args) throws Exception
{
ExecuteDDL ed = new ExecuteDDL();
ed.initParam("src/com/yyf/JDBC/db.properties");
ed.createTable("create table jdbc_test" +
"(jdbc_id int auto_increment primary key,"
+"jdbc_name varchar(255)"
+"jdbc_desc text);"
);
System.out.println("成功");
}
}