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

  • 相关阅读:
    hbase 由于zookeeper问题导致连接失败问题
    Python 判断文件/目录是否存在
    mysql5.7设置默认的字符集
    mysql 提示ssl问题
    Ubuntu 安装MySQL报共享库找不到
    hbase 监控指标项
    大量数据通过Phoenix插入到hbase报错记录(2)
    通过phoenix导入数据到hbase出错记录
    mysql5.7 之 sql_mode=only_full_group_by问题
    Hadoop 在启动或者停止的时候需要输入yes确认问题
  • 原文地址:https://www.cnblogs.com/64Byte/p/12790284.html
Copyright © 2011-2022 走看看