开发中获得连接的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对象的常用方法
- getProperty ( String key),用指定的键在此属性列表中搜索属性。也就是通过参数 key ,得到 key 所对应的 value。
2.load ( InputStream inStream),从输入流中读取属性列表(键和元素对)。通过对指定的文件(比如说上面的 test.properties 文件)进行装载来获取该文件中的所有键 - 值对。以供 getProperty ( String key) 来搜索。
3.setProperty ( String key, String value) ,调用 Hashtable 的方法 put 。他通过调用基类的put方法来设置 键 - 值对。
-
store ( OutputStream out, String comments),以适合使用 load 方法加载到 Properties 表中的格式,将此 Properties 表中的属性列表(键和元素对)写入输出流。与 load 方法相反,该方法将键 - 值对写入到指定的文件中去。
-
clear (),清除所有装载的 键 - 值对。该方法在基类中提供。
-
keySet(),获取键集合(Properties继承Hashtable,内部通过Map实现)
网友评论