您的位置:首页 > 运维架构

用配置文件写一个一劳永逸的jdbc联接程序

2006-09-19 12:20 302 查看
在用java写程序时,写过用jdbc联接数据库程序的程序员都知道,所有的联接串,驱动程序,用户名,密码等等这些信息一旦固定,都是千篇一律,而且这些属性发生改变的频率也很高,尤其是用户名跟密码!所以,今天张老师布置了一项作业,让我们写一个一劳永逸的属性文件,至少可以不用在几千行,甚至几万行的代码中做海底捞针的事!下面是我的程序,拿出来和大家一起分享:
属性文件定义如下:(MyJdbcDemo.properties)
jdbc.driver=com.mysql.jdbc.Driver
jdbc.url=jdbc:mysql://localhost/student
jdbc.name=root
jdbc.passWord=
关于各个key和value的含义,我相信只要你做过jdbc的程序,你就能看明白,在这儿就不浪费大家的时间了!注意我的密码是空!

然后,写一个类,用来读取属性文件。我觉得这个类是万能的,任一属性文件都可以用它来读取,这个程序是从老张(张汉东)那里瞄来的!:)(PathConfig.java)
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.util.Properties;

public class PathConfig {
private Properties prop;
private FileInputStream fips;

public PathConfig(String pathstr)
{
 prop = new Properties();
 try {
  fips = new FileInputStream(pathstr);
  try {
   prop.load(fips);
   fips.close();
  } catch (IOException e) {
   // TODO Auto-generated catch block
   System.out.printf("加载属性文件出错!");
   e.printStackTrace();
  }
 } catch (FileNotFoundException e) {
  // TODO Auto-generated catch block
  System.out.printf("指定的属性文件不存在!");
  e.printStackTrace();
 }
 
}
public String getValue(String key)
{
 String keystr = null;
 if(prop.containsKey(key))
 {
    keystr = prop.getProperty(key);
 }
 return keystr;
}
}
读取属性文件,一般的做法都是用FileInputStream来实现,这个程序也很简单。这里需要稍微提一下Properties类,在jdb1.5中它的定义如下:
public class Properties extends Hashtable<Object,Object>
它继承Hashtable,用来保存或加载一个stream,它有一个方法:
void load(InputStream inStream)用来从一个stream中读取一个属性列表,上述程序用此方法加载属性文件。在PathConfig.java中,还有一个方法
String getValue(String key),用来根据指定的key从属性文件中用getProperty(key)方法读取value。
  接下来你就可以用我的方法,在你的jdbc程序中测试一下,而且你以后也不用再陷入写重复代码的困境中了!!! 
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
相关文章推荐