Properties
类表示了一个持久的属性集。Properties
可保存在流中或从流中加载。属性列表中每个键及其对应值都是一个字符串。
在利用jdbc编程时,可以将与数据库连接的属性保存到properties文件中,便于以后能够快速修改,就像是
driverClassName=com.mysql.jdbc.Driver
url=jdbc:mysql:///(数据库名称)?useUnicode=true&characterEncoding=utf8&useSSL=true
username=root
password=root
在运用的时候,利用输入流将其读取到程序中
简单的一个例子:
public class DruidUtil {
private DruidUtil() {};
private static Properties p = new Properties();
private static DataSource dataSource = null;
static {
try {
//读取配置文件Druid.properties的信息
InputStream inStream = Thread.currentThread().getContextClassLoader().getResourceAsStream("Druid.properties");
p.load(inStream);
dataSource = DruidDataSourceFactory.createDataSource(p) ;
} catch (Exception e) {
e.printStackTrace();
}
}
//获取连接,运用Druid连接池
public static Connection getConnection() {
try {
return dataSource.getConnection();
} catch (Exception e) {
e.printStackTrace();
}
return null;
}
//关闭资源
public static void close(Connection conn , Statement st , ResultSet rs) {
try {
if (rs != null) {
rs.close();
}
} catch (Exception e) {
e.printStackTrace();
} finally {
try {
if (st != null) {
st.close();
}
} catch (Exception e) {
e.printStackTrace();
} finally {
try {
if (conn != null) {
conn.close();
}
} catch (Exception e) {
e.printStackTrace();
}
}
}
}
//测试
public static void main(String[] args) {
try {
// 获取一个连接
Connection conn = DruidUtil.getConnection();
if (conn != null) {
System.out.println("数据库连接正常!");
} else {
System.out.println("数据库连接异常!");
}
} catch (Exception ex) {
ex.printStackTrace();
}
}
}
运用了阿里巴巴的Druid连接池,并编写了一个连接数据库的简单工具类,以后在连接和关闭资源的时候,可以直接通过DruidUtil.getConnection()进行连接,和调用DruidUtil.close(Connection conn , Statement st , ResultSet rs)进行对资源的关闭