properties + IO 读取配置文件
1.项目目录树
2.配置文件config.properties
username = sushe
password = sushe
url = jdbc:mysql://172.16.100.10:3306/sushe?useUnicode=true&characterEncoding=GBK
jdbcDriverName = com.mysql.jdbc.Driver
3.JdbcBean对象,用来存储jdbc链接信息
package com.dlab.bean; public class JdbcBean { private String userName; private String password; private String Url; private String jdbcDriverName; public String getUserName() {
return userName;
} public void setUserName(String userName) {
this.userName = userName;
} public String getPassword() {
return password;
} public void setPassword(String password) {
this.password = password;
} public String getUrl() {
return Url;
} public void setUrl(String url) {
Url = url;
} public String getJdbcDriverName() {
return jdbcDriverName;
} public void setJdbcDriverName(String jdbcDriverName) {
this.jdbcDriverName = jdbcDriverName;
} }
4.读取配置文件工具JdbcConfig.java
package com.dlab.util; import java.io.IOException;
import java.io.InputStream;
import java.util.Properties; import com.dlab.bean.JdbcBean; public class JdbcConfig { private JdbcBean jdbcBean; public JdbcConfig() throws IOException{ //使用InputStream读取配置文件
InputStream in = Thread.currentThread().getContextClassLoader().getResourceAsStream("config.properties");
Properties configReader = new Properties();
//加载配置文件
configReader.load(in); jdbcBean = new JdbcBean(); jdbcBean.setUserName(configReader.getProperty("username"));
jdbcBean.setPassword(configReader.getProperty("password"));
jdbcBean.setUrl(configReader.getProperty("url"));
jdbcBean.setJdbcDriverName(configReader.getProperty("jdbcDriverName")); } //返回JdbcBean对象
public JdbcBean getConfigInfo(){
return jdbcBean;
} }
5.JDBC工具DBUtil.java,获取Connection
package com.dlab.util; import java.io.IOException;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException; import com.dlab.bean.JdbcBean; public class DBUtil { /**
* 采用单例模式
*/
private static DBUtil instance = new DBUtil();
private Connection conn; private DBUtil (){
JdbcBean jdbcBean;
try {
jdbcBean = new JdbcConfig().getConfigInfo();
Class.forName(jdbcBean.getJdbcDriverName());
conn = DriverManager.getConnection(jdbcBean.getUrl(), jdbcBean.getUserName(), jdbcBean.getPassword());
} catch (IOException e) {
e.printStackTrace();
} catch (ClassNotFoundException e) {
e.printStackTrace();
} catch (SQLException e) {
e.printStackTrace();
} } public static synchronized DBUtil getInstance (){
return instance;
} //返回Connection
public Connection getConn(){
return conn;
} //Connection的静态关闭方法
public static void close(Connection conn){
if(conn != null){
try {
conn.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
} //PreparedStatement的静态关闭方法
public static void close(PreparedStatement pstmt){
if(pstmt != null){
try {
pstmt.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
} //ResultSet的静态关闭方法
public static void close(ResultSet rs){
if(rs != null){
try {
rs.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
}
}
6.测试程序DBTest.java
package com.dlab.dbtest; import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException; import com.dlab.util.DBUtil; public class DBTest { public static void main(String[] args) {
String sql = "select * from Admin";
Connection conn = null;
PreparedStatement pstmt = null;
ResultSet rs = null; try {
conn = DBUtil.getInstance().getConn();
pstmt = conn.prepareStatement(sql);
rs = pstmt.executeQuery();
while(rs.next()){
System.out.println(rs.getString("Admin_Username"));
}
} catch (SQLException e) {
e.printStackTrace();
} finally {
DBUtil.close(rs);
DBUtil.close(pstmt);
DBUtil.close(conn);
} } }
properties + IO 读取配置文件的更多相关文章
- 使用Properties去读取配置文件,并获得具体内容值
有时候,写了一个配置文件,需要知道读出来的内容对不对,我们需要测试一下,看看读出来的跟我们要的是不是一样.这里写了一个工具类,用来读取配置文件里面的内容. 一.使用Properties工具类来读取. ...
- Java 数据类型:集合接口Map:HashTable;HashMap;IdentityHashMap;LinkedHashMap;Properties类读取配置文件;SortedMap接口和TreeMap实现类:【线程安全的ConcurrentHashMap】
Map集合java.util.Map Map用于保存具有映射关系的数据,因此Map集合里保存着两个值,一个是用于保存Map里的key,另外一组值用于保存Map里的value.key和value都可以是 ...
- java properties类读取配置文件
1.JAVA Properties类,在java.util包里,具体类是java.util.properties.Properties类继承自Hashtable类并且实现了Map接口,也是使用一种键值 ...
- 【Properties文件】Java使用Properties来读取配置文件
配置文件位置及内容 执行结果 程序代码 package Utils.ConfigFile; import java.io.BufferedInputStream; import java.io.B ...
- Properties类读取配置文件
package com.wzy.t4; import java.io.File; import java.io.FileInputStream; import java.io.FileNotFound ...
- Java配置文件Properties的读取、写入与更新操作
/** * 实现对Java配置文件Properties的读取.写入与更新操作 */ package test; import java.io.BufferedInputStream; import j ...
- 对Java配置文件Properties的读取、写入与更新操作
http://breezylee.iteye.com/blog/1340868 对Java配置文件Properties的读取.写入与更新操作 博客分类: javase properties 对Jav ...
- 实现对Java配置文件Properties的读取、写入与更新操作
/** * 实现对Java配置文件Properties的读取.写入与更新操作 */ package test; import java.io.BufferedInputStream; import j ...
- ResourceBundle与Properties读取配置文件
ResourceBundle与Properties的区别在于ResourceBundle通常是用于国际化的属性配置文件读取,Properties则是一般的属性配置文件读取. ResourceBundl ...
随机推荐
- Spring之SpringMVC的MethodNameResolver(源码)分析
前言 在介绍SpringMVC 的Controller的具体实现中,我们讲到了MultiActionController.在获取处理请求对于的方法的时候我们用到了下面的代码,来自于MultiActi ...
- [译]Java 垃圾回收介绍
说明:这篇文章来翻译来自于Javapapers 的Java Garbage Collection Introduction 在Java中,对象内存空间的分配与回收是由JVM中的垃圾回收进程自动完成的. ...
- Libgdx Box2D现实---这缓释微丸(两:Box2D介绍)
Box2D官方网站 : http://box2d.org/ Box2D v2.1.0用户手冊翻译 : http://blog.csdn.net/complex_ok/article/catego ...
- 笔试 - 高德软件有限公司python问题 和 答案
高德软件有限公司python问题 和 答案 本文地址: http://blog.csdn.net/caroline_wendy/article/details/25230835 by Spike 20 ...
- 调式WP程序报0x80131500错误的解决办法
在虚拟机上安装了win8系统和VS2013,但是在允许第一个WP程序时,居然报0x80131500错误信息,经查询原来是VS2013需更新的问题,如果你用的是VS2012,但是又系统升级到了win8. ...
- 设计模式20---设计模式之备忘录模式(Memento)(行为型)
1.讲解备忘录模式 备忘录模式(Memento Pattern)又叫做快照模式(Snapshot Pattern)或Token模式,是GoF的23种设计模式之一,属于行为模式. 1.1定义 在不破坏封 ...
- ps -aux中的time 的意思
ps -aux 显示所有包含其他使用者的行程 aux 输出格式 : USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND USER: 行程拥有者 ...
- 新部署的linux web服务器error Host ‘*.*.*.*’ is not allowed to connect to this MySQL server
最近上头交给我个任务,把WINDOWS平台下开发的网站,部署在LINUX环境上. 把mysql安装好了,所有表单都导入没问题,然后代码都放在tomcat下的webapps文件夹下了,主页 面可以正常显 ...
- Unable to start activity异常的解决方案
当时我正在测试一个用户身份验证组件.使用的是android内置的Accounts API.当时的情况是,需要在App2中调用App1的用户身份验证组件,但是不知道为什么登入界面总是无法正常开启.后来我 ...
- Redis几个认识误区
前几天微博发生了一起大的系统故障,很多技术的朋友都比较关心,其中的原因不会超出James Hamilton在On Designing and Deploying Internet-Scale Serv ...