今天上jdbc实训课之前,李老师给我们介绍了一个新朋友 Properties。咋一听我还以为是一个struts.properties文件呢,结果是一个集合类,但果然和.properties是有关的。

.properties属性文件:

在里面可以定义一些字段并且为它赋值以键值对的形式存在,这将不需要我们在代码中书写,实现 了数值和代码的 分离,这样很方便我们以后修改数值。

Properties集合类作用之一:与工程中的.properties或xml文件建立联系,获取写在properties文件中 以键 值对形式存在的value值。

小例子: 获取保存在properties属性文件中的有关连接数据库信息。

先列上属性文件db.properties

#oracle

url=jdbc:oracle:thin:@localhost:1521:orcl

driver=oracle.jdbc.driver.OracleDriver

username=scott

password=tiger

#mysql

#url=jdbc:mysql://localhost:3306/test

#driver=com.mysql.jdbc.Driver

#username=root

#password=root

#sqlservers

#url=jdbc:sqlserver://localhost:1433; DatabaseName=studb

#driver=com.microsoft.sqlserver.jdbc.SQLServerDriver

#username=sa

#password=sa

java中连接数据库:

package com.strong.jdbc.util;

import java.io.FileInputStream;

import java.io.FileNotFoundException;

import java.io.IOException;

import java.io.InputStream;

import java.sql.Connection;

import java.sql.DriverManager;

import java.sql.SQLException;

import java.util.Properties;

public class Test {

private static String url;

private static String driver;

private static String username;

private static String password;

//静态代码块,只在程序第一次启动时,被加载一次

static{

try {

Properties prop = new Properties();

//Properties类获取属性文件中的值时要先建立文件字节流

InputStream is = new FileInputStream("db.properties");

prop.load(is);

//通过key获取value

url = prop.getProperty("url");

driver= prop.getProperty("driver");

username= prop.getProperty("username");

password = prop.getProperty("password");

} catch (FileNotFoundException e) {

e.printStackTrace();

} catch (IOException e) {

e.printStackTrace();

}

}

//连接数据库

public static Connection getConnection(){

Connection conn = null;

try {

Class.forName(driver);

conn = DriverManager.getConnection(url, username, password);

} catch (ClassNotFoundException e) {

e.printStackTrace();

} catch (SQLException e) {

e.printStackTrace();

}

return conn;

}

public static void main(String[] args) {

System.out.println(getConnection());

}

}