java jdbc配置文件读取数据_Java之JDBC 通过加载properties配置文件连接数据库

通常情况下,我们通过JDBC连接数据库的时候,不会将数据库相关配置写死,因为到时候数据库一有改动,就要重新打包部署到服务器或者替换相关的.class文件,这样非常不灵活。因此,咱们一般会通过读取配置文件的方式来加载数据库相关配置,这样到时候只改动配置文件就可以啦,非常的方便。

直接上代码,下面是java文件:

public classSyncDataFn {

private staticString driver;

private staticString url;

private staticString username;

private staticString password;

static{

try{

// 1.通过当前类获取类加载器

ClassLoader classLoader = SyncDataFn.class.getClassLoader();

// 2.通过类加载器的方法获得一个输入流

InputStream in = classLoader.getResourceAsStream("../config/jdbc-interface.properties");

// 3.创建一个properties对象

Properties props = newProperties();

// 4.加载输入流

props.load(in);

// 5.获取相关参数的值

driver = props.getProperty("driverClassName");

url = props.getProperty("url");

username = props.getProperty("username");

password = props.getProperty("password");

} catch(IOException e) {

e.printStackTrace();

}

}

public int jxJson() throwsException {

// 创建Statement用于执行SQL语句

Statement stmt = null;

String strSQL = "";

Connection connection = null;

//定义同步数据的条数

int count = 0;

try{

Class.forName(driver);

connection =DriverManager.getConnection(url, username, password);

} catch(ClassNotFoundException e) {

e.printStackTrace();

} catch(SQLException e) {

e.printStackTrace();

}

// 先关闭Statement

if (stmt != null)

try{

stmt.close();

} catch(SQLException e) {

e.printStackTrace();

}

// 后关闭Connection

if (connection != null)

try{

connection.close();

} catch(SQLException e) {

e.printStackTrace();

}

log.info("当前时间===" + newDate());

log.info("同步结束");

log.info("共更新了"+ count + "条数据");

returncount;

}

}

下面是properties文件:

1 driverClassName=oracle.jdbc.OracleDriver

2 url=jdbc:oracle:thin:@172.16.35.35:1521:ecard

3 username=ecard

4 password=ecard

其中有个坑是调用classLoader.getResourceAsStream()获取properties文件路径的时候,刚开始怎么也获取不到,后来问了度娘才知道,他的起始路径是基于.class的。

总结:如果你想获得配置文件,你得从最终生成的.class文件为着手点,不要以.java文件的路径为出发点,因为真正使用的就是.class文件。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值