jdbc获取properties内容的方式

it2022-05-09  36

properties是java中的一种配置文件,文件的内容是键-值的形式(key-value)。为了在java代码中使数据库的配置文件和代码分开,properties被引用了。文件名为:*.properties的形式。

在eclipse中经常新建一个sources文件,将其放入:

properties中我们主要放置jdbc的 四大参数:

我们只需要在java代码中读取文件中的参数值,从此java代码与数据库配置信息分开了。本文主要关注怎么读取properties。

方法一:通过字节流读取:

private static Properties properties = new Properties();     static {

        try {             InputStream in = new FileInputStream("sourses/db.properties");             properties.load(in);             Class.forName(properties.getProperty("driver"));         } catch (FileNotFoundException e) {

            e.printStackTrace();         } catch (IOException e) {

            e.printStackTrace();         } catch (ClassNotFoundException e) {

            e.printStackTrace();         }

    }

方法二:通过Thread来读取

private static Properties properties = new Properties();     static {

        try {             //InputStream in = new FileInputStream("sourses/db.properties");             InputStream in=Thread.currentThread().getContextClassLoader().getResourceAsStream("db.properties");             properties.load(in);             Class.forName(properties.getProperty("driver"));         } catch (FileNotFoundException e) {

            e.printStackTrace();         } catch (IOException e) {

            e.printStackTrace();         } catch (ClassNotFoundException e) {

            e.printStackTrace();         }

    }

方法三:通过反射读取

private static Properties properties = new Properties();     static {

        try {             //InputStream in = new FileInputStream("sourses/db.properties");             //InputStream in=Thread.currentThread().getContextClassLoader().getResourceAsStream("db.properties");             InputStream in=JdbcUtils.class.getClassLoader().getResourceAsStream("db.properties");             properties.load(in);             Class.forName(properties.getProperty("driver"));         } catch (FileNotFoundException e) {

            e.printStackTrace();         } catch (IOException e) {

            e.printStackTrace();         } catch (ClassNotFoundException e) {

            e.printStackTrace();         }

    }

 


最新回复(0)