要求:(以配置文件形式来连接数据库)选择数据库数据源时,只显示配置文件中所有的实例名,这里说的实例名是指每一个数据库实例代表一个不同的ip地址。
配置文件:test.properties,读取此配置文件的过程如下:
   InputStream in = getClass().getResourceAsStream("/test.properties");
   Properties p = new Properties();
    p.load(in);
    instancename = p.getProperty("db.instance");//得到所有的实例名。
  然后通过选择实例名来连接相应的数据库进行操作,来得到相应的库,表,字段,最后显示所得的数据结果。
下面是写的一个连接数据库的方法:关键代码如下
public Connection dblink(String dbinstance)
 {
  java.io.InputStream in = getClass().getResourceAsStream("/test.properties");
  Properties p = new Properties();
  try
  {
   p.load(in);
  }
  catch (IOException e)
  {
   e.printStackTrace();
  }
  driver = p.getProperty((new StringBuilder(String.valueOf(dbinstance))).append(".db.driver").toString());
  url = (new StringBuilder(String.valueOf(p.getProperty((new StringBuilder(String.valueOf(dbinstance))).append(".db.url").toString())))).append(databasename).toString();
  username = p.getProperty((new StringBuilder(String.valueOf(dbinstance))).append(".db.user").toString());
  password = p.getProperty((new StringBuilder(String.valueOf(dbinstance))).append(".db.pwd").toString());
  type = p.getProperty((new StringBuilder(String.valueOf(dbinstance))).append(".db.type").toString());
  if (conn == null)
  {
   try
   {
    Class.forName(driver).newInstance();
   }
   catch (ClassNotFoundException e)
   {
    e.printStackTrace();
   }
   catch (InstantiationException e)
   {
    e.printStackTrace();
   }
   catch (IllegalAccessException e)
   {
    e.printStackTrace();
   }
   try
   {
    conn = DriverManager.getConnection(url, username, password);
   }
   catch (SQLException e)
   {
    e.printStackTrace();
   }
  }
  return conn;
 }
               
 
                    
                     
                    
                 
                    
                 
 
         
                
            
         浙公网安备 33010602011771号
浙公网安备 33010602011771号