zoukankan      html  css  js  c++  java
  • JDBC中获取 Properties类的对象

    问题:  数据库四大参数:  写在代码中, 写死, 修改这个四个参数, 需要去修改源码, 重新编译, 

    解决方案:  把这四大参数不写在源码中, 需要一个文件存放, 代码中,使用IO流读取文件,

    Jdk提供一个  Properties类,  是Map的一个实现类,  存放的也是key/value, 关联硬盘某个文件,要求这个文件的后缀名: .properties(文本文件)

     这个文件格式:

       Key1=value1

       Key2=value2

       .....

    这个文件一般放在src目录下

    推荐写法:

    //1.创建Properties类的对象
            Properties props = new Properties();
            try {
                //2.加载数据 ***
                props.load(Thread.currentThread().getContextClassLoader()
           .getResourceAsStream("test.properties")); //3.获取数据, 通过key获取value value getProperty(key) System.out.println(props.getProperty("name")); System.out.println(props.getProperty("age")); System.out.println(props.getProperty("sex")); } catch (IOException e) { e.printStackTrace(); }

    这个文件路径: 绝对路径, 如果这个项目位置发生变化,这个路径也需要修改,
      props.load(new FileInputStream("D:\code\代码\jdbc02\src\test.properties"));

    使用相对路径:
    第一种写法:
         Demo2.class.getResourceAsStream() 参考点: Demo2.java所在的目录
        要求这个文件与这个类在同一个目录
        InputStream in = Demo2.class.getResourceAsStream("test.properties");
        文件路径: src/jdbc02/test.properties


    第二种写法 Demo2.class.getClassLoader().getResourceAsStream() 参考点: src
        InputStream in = Demo2.class.getClassLoader().getResourceAsStream("test.properties");


    第三种写法: (推荐
        Thread.currentThread().getContextClassLoader().getResourceAsStream(dbconfig); 参考点:src

  • 相关阅读:
    JVM源码分析之Object.wait/notify(All)完全解读
    进程无故消失的破案历程
    Jmeter——JDBC Connection Configuration参数化
    Jmeter——CSV DataSet Config参数化
    WeTest明星工具-移动端性能测试PerfDog初探
    基于appium实现的线性代码引用unittest单元测试框架
    Requests实践详解
    Appium-Server与Appium-Desktop的区别
    Appium Python API 中文版
    单元测试框架Uinttest一文详解
  • 原文地址:https://www.cnblogs.com/64Byte/p/12790284.html
Copyright © 2011-2022 走看看