比尔云BierYun--阿里云最新优惠活动
阿里云优惠码丨阿里云代金券

Java之JDBC 通过加载properties配置文件连接数据库

Java之JDBC 通过加载properties配置文件连接数据库

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

 

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

复制代码
 1 public class SyncDataFn {
 2     
 3     private static String driver;
 4     private static String url;
 5     private static String username;
 6     private static String password;
 7     
 8     static {
 9         try {
10             // 1.通过当前类获取类加载器
11             ClassLoader classLoader = SyncDataFn.class.getClassLoader();
12             // 2.通过类加载器的方法获得一个输入流
13             InputStream in = classLoader.getResourceAsStream("../config/jdbc-interface.properties");
14             // 3.创建一个properties对象
15             Properties props = new Properties();
16             // 4.加载输入流
17             props.load(in);
18             // 5.获取相关参数的值
19             driver = props.getProperty("driverClassName");
20             url = props.getProperty("url");
21             username = props.getProperty("username");
22             password = props.getProperty("password");
23         } catch (IOException e) {
24             e.printStackTrace();
25         }
26  
27     }
28     
29     public int jxJson() throws Exception {
30         // 创建Statement用于执行SQL语句
31         Statement stmt = null;
32         String strSQL = "";
33         Connection connection = null;
34         
35         try {
36             Class.forName(driver);
37             connection = DriverManager.getConnection(url, username, password);
38         } catch (ClassNotFoundException e) {
39             e.printStackTrace();
40         } catch (SQLException e) {
41             e.printStackTrace();
42         }
43     }
44 }
复制代码

 

下面是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文件。

原文地址https://www.cnblogs.com/ailanlan/p/11249428.html

评论 抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址

强烈推荐

高性能SSD云服务器ECS抗攻击,高可用云数据库RDS