JDBC中使用Properties读取配置文件有什么用

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

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

例如
driverClass=com.mysql.jdbc.Driver
url=jdbc:mysql://localhost:3306/mydatabase
username=root
password=7894561230

二、加载配置文件

 public static void loadPro() throws Exception {
    //从文件中读取输入流
   FileInputStream fis = new FileInputStream("src/database.properties");
    //创建Properties对象
    Properties pro = new Properties();
    //从流中加载数据
   pro.load(fis);
    //关闭流
 fis.close();
    //从Properties对象中根据键读取值
    String driverClass = pro.getProperty("driverClass");
   String url = pro.getProperty("url");
   String username = pro.getProperty("username");
 String password = pro.getProperty("password");
    //打印值
  System.out.println(driverClass);
    System.out.println(url);
    System.out.println(username);
   System.out.println(password);
 }
  • 1.通过IO读取文件

  • 2.创建Properties对象

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

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

三、用JDBC建立连接

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

  /* 假设已经取得 driverClass,url, username, password 的值 */ // 注册驱动 
  Class.forName(driverClass);// 建立连接Connection con = DriverManager.getConnection(url, 
  username, password);// 获取SQL语句执行对象Statement stat = con.createStatement();// 调用 
   执行者对象方法,执行SQL语句获取结果集String sql = "SELECT * FROM sort";ResultSet rs = 
  stat.executeQuery(sql);// ResultSet接口方法 boolean next() 返回true,有结果集,返回false没有 
  结果集while(rs.next()){// 获取每列数据,使用是ResultSet接口的方法 getXX方法参数中,建议写 
   String列名System.out.println(rs.getInt("sid")+"   "+rs.getString("sname")+"   
   "+rs.getDouble("sprice")+"   "+rs.getString("sdesc"));}// 关闭对象,先开后闭 
   rs.close();stat.close();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方法来设置 键 - 值对。

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

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

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

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 214,588评论 6 496
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 91,456评论 3 389
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 160,146评论 0 350
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 57,387评论 1 288
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 66,481评论 6 386
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 50,510评论 1 293
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,522评论 3 414
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,296评论 0 270
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,745评论 1 307
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,039评论 2 330
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,202评论 1 343
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,901评论 5 338
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,538评论 3 322
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,165评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,415评论 1 268
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 47,081评论 2 365
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,085评论 2 352

推荐阅读更多精彩内容

  • 6.理解“属性”这一概念 @dynamic关键字:告诉编译器不要自动创建实现属性所用的实例变量,也不要为其创建存取...
    Code_Ninja阅读 715评论 0 3
  • 我曾经问过你,柴米油醋茶不好吗? 是你不知死活偏偏要趟浑水。 好了,现在满意了,开心了?! 反正难受的是你与我何干...
    将忘JW阅读 225评论 0 0
  • 写在前面的话 我是一个非常不会表达的人,和三两好友一起还能说得上话,超过5个人基本我是沉默或者符合的那一类,和领导...
    小叮当在哪里阅读 412评论 0 0
  • 所谓核心能力,是一组特别的知识体系。每个岗位都需要核心能力,只是配比不同;核心能力对每个人都重要,只是有人认识不到...
    读书少的丝瓜阅读 400评论 0 1
  • 解析几何 平面直角坐标系中的基本公式 WIKI
    V思数学阅读 685评论 0 0