要求:(以配置文件形式来连接数据库)选择数据库数据源时,只显示配置文件中所有的实例名,这里说的实例名是指每一个数据库实例代表一个不同的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号