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. PDF解决方案(4)--在线浏览

    相关专题链接 PDF解决方案(1)--文件上传 PDF解决方案(2)--文件转PDF PDF解决方案(3)--PDF转SWF PDF解决方案(4)--在线浏览 前言:上一篇主要提到了PDF在线浏览的各 ...

  2. 基于Asterisk的VoIP开发指南——Asterisk 模块编写指南(1)

    原文:基于Asterisk的VoIP开发指南--Asterisk 模块编写指南(1) 1 开源项目概述 Asterisk是一个开源的软件包,通常运行在Linux操作系统平台上.Asterisk可以用三 ...

  3. Ora中select某时间段记录sql语句

    要查找某时间段的记录,例如查找2013-11-1到2013-11-30的记录. ' group by user_name, user_id 注意:SQL语句中含有sum累加函数,末尾要加group b ...

  4. robin 今日南

    我很高兴,在学校体育馆看到李彦宏博士. 这是第一个真正的一次在媒体上看到,只能看到人才足够多的人,现实,我觉得非常好. 我不是一个真正罗宾的粉丝.百度是不是很热衷于这家公司.,但现在我仍然兴奋,我会被 ...

  5. innerText与innerHTML的区别

    innerText与innerHTML的区别:1.innerText将所有文本内容作为普通的文本2.innerHTML会识别文本内容中是否含有html标签,它能够把html标签的效果显示出来3.inn ...

  6. ASHX呼叫ASPX.cs的方法

    ASHX呼叫ASPX.cs的方法 问题来自论坛,有网友这样的要求,在ASHX内呼叫ASPX.cs的一个方法或函数. 在一个网站中,也许不止只有一个aspx网页.把aspx.cs内的方法宣告为publi ...

  7. LInux 2.6 编译内核出现Question

    问:在make menuconfig配置完之后(选的默认配置),然后就make出现如下错误:root@org:/usr/src/linux-2.6.32.27# make CHK include/li ...

  8. 7.25 RPN转换

    思想: 目的:将中缀表达式(即标准形式的表达式)转换为后缀式. 例子:a+b*c+(d*e+f)*g转换成abc*+de*f+g*+ 转换原则: 1.当读到一个操作数时,立即将它放到输出中.操作符则不 ...

  9. SQL计算年代差

    1.用datediff函数 select datediff(yyyy,StuBirthday,getdate())>17 2.用year函数 select (year(getdate()-yea ...

  10. 把《C语言接口与实现》读薄之第一章:引言

    1.1文学程序 文学程序(literate program):接口及其实现的代码与对其进行解释的正文交织在一起.文学程序由英文正文和带标签的程序代码块组成.例如, 〈compute x * y〉≡ s ...