• JDBC中使用Properties类及配置文件的操作


    同时发布于:https://blog.csdn.net/Activity_Time/article/details/81149710

    一、properties配置文件

    开发中获得连接的4个参数(驱动、URL、用户名、密码)通常都存在配置文件中,方便后期维护,程序如果需要更换数据库,只需要修改配置文件即可。

    通常情况下,我们习惯使用properties文件,Java中有专门用来装载配置文件的类Properties(Java.util.Properties),配置文件用来保存一些在程序中可能修改的值,修改时只要修改配置文件即可,而不用修改程序本身。Java配置文件常为.properties文件,格式为文本文件,文件的内容的格式是“键=值”的格式。在properties的文件中,在行首加上 # 就是注释这行,或者是用 <!-- --> 包括这行也是注释。

    1. #例如
    2. driverClass=com.mysql.jdbc.Driver
    3. url=jdbc:mysql://localhost:3306/mydatabase
    4. username=root
    5. password=7894561230
    6. <!--注释-->

    用MyEclipse打开是这个样子的,这里我保存在了src目录下,命名为database.properties

     PS:一行一组数据,格式是“key=value”.

    a) key命名自定义,如果是多个单词,习惯使用点分隔。例如:jdbc.driver

    b) value值不支持中文,如果需要使用非英文字符,将进行unicode转换

     二、加载配置文件

    1. public static void loadPro() throws Exception {
    2. //从文件中读取输入流
    3. FileInputStream fis = new FileInputStream("src/database.properties");
    4. //创建Properties对象
    5. Properties pro = new Properties();
    6. //从流中加载数据
    7. pro.load(fis);
    8. //关闭流
    9. fis.close();
    10. //从Properties对象中根据键读取值
    11. String driverClass = pro.getProperty("driverClass");
    12. String url = pro.getProperty("url");
    13. String username = pro.getProperty("username");
    14. String password = pro.getProperty("password");
    15. //打印值
    16. System.out.println(driverClass);
    17. System.out.println(url);
    18. System.out.println(username);
    19. System.out.println(password);
    20. }

    1.通过IO读取文件

    2.创建Properties对象

    3.使用Properties对象的load(流)方法加载数据

    4.使用Properties对象的getProperty(键)方法获取对应值

    三、用JDBC建立连接

    由于本文主要介绍.properties配置文件的使用,固此处不做赘述

    1. /* 假设已经取得 driverClass,url, username, password 的值 */
    2. // 注册驱动
    3. Class.forName(driverClass);
    4. // 建立连接
    5. Connection con = DriverManager.getConnection(url, username, password);
    6. // 获取SQL语句执行对象
    7. Statement stat = con.createStatement();
    8. // 调用执行者对象方法,执行SQL语句获取结果集
    9. String sql = "SELECT * FROM sort";
    10. ResultSet rs = stat.executeQuery(sql);
    11. // ResultSet接口方法 boolean next() 返回true,有结果集,返回false没有结果集
    12. while(rs.next()){
    13. // 获取每列数据,使用是ResultSet接口的方法 getXX方法参数中,建议写String列名
    14. System.out.println(rs.getInt("sid")+" "+rs.getString("sname")+
    15. " "+rs.getDouble("sprice")+" "+rs.getString("sdesc"));
    16. }
    17. // 关闭对象,先开后闭
    18. rs.close();
    19. stat.close();
    20. con.close();

    四、Properties对象的常用方法

    1. getProperty ( String key),用指定的键在此属性列表中搜索属性。也就是通过参数 key ,得到 key 所对应的 value。

    2. load ( InputStream inStream),从输入流中读取属性列表(键和元素对)。通过对指定的文件(比如说上面的 test.properties 文件)进行装载来获取该文件中的所有键 - 值对。以供 getProperty ( String key) 来搜索。

    3. setProperty ( String key, String value) ,调用 Hashtable 的方法 put 。他通过调用基类的put方法来设置 键 - 值对。

    4. store ( OutputStream out, String comments),以适合使用 load 方法加载到 Properties 表中的格式,将此 Properties 表中的属性列表(键和元素对)写入输出流。与 load 方法相反,该方法将键 - 值对写入到指定的文件中去。

    5. clear (),清除所有装载的 键 - 值对。该方法在基类中提供。

    6.    keySet(),获取键集合(Properties继承Hashtable,内部通过Map实现)

    本文链接:https://blog.csdn.net/Activity_Time/article/details/81149710

    相关文章:https://blog.csdn.net/Activity_Time/article/details/81150644

    参考文章:https://www.cnblogs.com/bakari/p/3562244.html

  • 相关阅读:
    Leetcode题目62.不同路径(动态规划-中等)
    Leetcode题目56.合并区间(中等)
    Leetcode题目55.跳跃游戏(贪心算法-中等)
    Leetcode题目53.最大子序和(动态规划-简单)
    Leetcode题目49.字母异位词分组(中等)
    Leetcode题目48.旋转图像(中等)
    Leetcode题目46.全排列(回溯+深度优先遍历+状态重置-中等)
    Leetcode题目39.组合总和(回溯+剪枝-中等)
    Android学习笔记-Universal-Image-Loade图片加载框架
    Android学习笔记--使用Apache HttpClient实现网络下载效果,附带进度条显示
  • 原文地址:https://www.cnblogs.com/ACTIM/p/9351709.html
Copyright © 2020-2023  润新知