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 读取配置文件的更多相关文章

  1. 使用Properties去读取配置文件,并获得具体内容值

    有时候,写了一个配置文件,需要知道读出来的内容对不对,我们需要测试一下,看看读出来的跟我们要的是不是一样.这里写了一个工具类,用来读取配置文件里面的内容. 一.使用Properties工具类来读取. ...

  2. Java 数据类型:集合接口Map:HashTable;HashMap;IdentityHashMap;LinkedHashMap;Properties类读取配置文件;SortedMap接口和TreeMap实现类:【线程安全的ConcurrentHashMap】

    Map集合java.util.Map Map用于保存具有映射关系的数据,因此Map集合里保存着两个值,一个是用于保存Map里的key,另外一组值用于保存Map里的value.key和value都可以是 ...

  3. java properties类读取配置文件

    1.JAVA Properties类,在java.util包里,具体类是java.util.properties.Properties类继承自Hashtable类并且实现了Map接口,也是使用一种键值 ...

  4. 【Properties文件】Java使用Properties来读取配置文件

    配置文件位置及内容 执行结果 程序代码 package Utils.ConfigFile;   import java.io.BufferedInputStream; import java.io.B ...

  5. Properties类读取配置文件

    package com.wzy.t4; import java.io.File; import java.io.FileInputStream; import java.io.FileNotFound ...

  6. Java配置文件Properties的读取、写入与更新操作

    /** * 实现对Java配置文件Properties的读取.写入与更新操作 */ package test; import java.io.BufferedInputStream; import j ...

  7. 对Java配置文件Properties的读取、写入与更新操作

    http://breezylee.iteye.com/blog/1340868 对Java配置文件Properties的读取.写入与更新操作 博客分类: javase properties  对Jav ...

  8. 实现对Java配置文件Properties的读取、写入与更新操作

    /** * 实现对Java配置文件Properties的读取.写入与更新操作 */ package test; import java.io.BufferedInputStream; import j ...

  9. ResourceBundle与Properties读取配置文件

    ResourceBundle与Properties的区别在于ResourceBundle通常是用于国际化的属性配置文件读取,Properties则是一般的属性配置文件读取. ResourceBundl ...

随机推荐

  1. leetcode[55] Merge Intervals

    题目:给定一连串的区间,要求输出不重叠的区间. Given a collection of intervals, merge all overlapping intervals. For exampl ...

  2. javascript 学习总结(九)面向对象编程

    1.面向对象的工厂方法 function createPerson(name, age, job){ var o = new Object(); o.name = name; o.age = age; ...

  3. Object instanceof Function和Function instanceof Object

    首先需要确定的是,instanceof是根据原型链来判断是否为某引用类型的实例.所以需要明白Object和Function之间的关系,以下为引用某博客的图片,阐述了javascript对象体系的关系 ...

  4. css 初始化

    html,body,h1,h2,h3,h4,h5,h6,div,dl,dt,dd,ul,ol,li,p,blockquote,pre,hr,figure,table,caption,th,td,for ...

  5. PBKDF2WithHmacSHA1算法

    主要用于明文密码加密字符串存入数据库.由棱镜门思考.目前大部分企业中都是明文密码.一旦被攻破.危害非常大.现在主流加密技术是MD5加密.不过MD5的存在小概率碰撞(根据密码学的定义,如果内容不同的明文 ...

  6. Visual Studio 编辑器

    如何扩展 Visual Studio 编辑器 在 Visual Studio 2010 的时代,扩展 Visual Studio 的途径有很多,开发者可以选择宏.Add-in.MEF 和 VSPack ...

  7. VBS get,post函数

    Function gethttp(gethttp_url) Dim http_get Set http_get=Server.CreateObject("MSXML2.ServerXMLHT ...

  8. VS2010生成安装包制作步骤

    VS2010生成安装包制作步骤   在VS2010中文旗舰版本中生成winForm安装包,可以复制你电脑中的开发环境,避免你忘记了一下配置然后在别的机器上运行不起来.也省去了Framwork的安装. ...

  9. 10-18 noip提高组模拟赛(codecomb)T1倍增[未填]

    T1只想到了找环,> <倍增的思想没有学过,所以看题解看得雨里雾里的(最近真的打算学一下! 题目出的挺好的,觉得noip极有可能出现T1T2T3,所以在此mark 刚开始T1以为是模拟,还 ...

  10. iOS关于RunLoop和Timer

    RunLoop这个东西,其实我们一直在用,但一直没有很好地理解它,或者甚至没有知道它的存在.RunLoop可以说是每个线程都有的一个对象,是用来接受事件和分配任务的loop.永远不要手动创建一个run ...