`
zhangrong108
  • 浏览: 204192 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

使用静态块读取属性(.properties)文件

阅读更多

package cn.com.eTrans.manageCar.data;

import java.io.FileReader;
import java.io.IOException;
import java.io.Reader;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.Properties;

/*
 * author  * 使用静态类读取属性文件
 */
public class StaticConnectionDB {

 private static Properties property=new Properties();
 private static final String Driver="com.microsoft.jdbc.sqlserver.SQLServerDriver";
 private static String Url="jdbc:microsoft:sqlserver://";
 
 static{
  /**
   * 通过 字节流 的方式来加载一个properties属性文件,是通过系统自动去检索。
   *
   * 所以要把属性文件创建在跟本类在同一个包。(第一种方法)
   */
  //第一种方法
  //InputStream is=null;
  //is=StaticConnectionDB.class.getResourceAsStream("sqlDB.properties");
  
  try {
   //第二种方法
   Reader is =null;
   is= new FileReader("WEB-INF/sqlDB.properties");
   
   property.load(is);
   is.close();
  } catch (IOException e) {
   // TODO Auto-generated catch block
   e.printStackTrace();
  }finally{
   
  }
 }
 
 /**
  *   数据库连接
  * @return
  */
 public static Connection getConnection(){
  Connection conn=null;
  try {
   Class.forName(Driver);
   //jdbc:microsoft:sqlserver://192.168.0.198:1433;DatabaseName=eTransPortal
   Url=Url+property.getProperty("SqlConectionDB.address")+":"+property.getProperty("SqlConectionDB.port")+";DatabaseName="+property.getProperty("SqlConectionDB.dbName");
   System.out.println("***&&&&&**"+property.getProperty("SqlConectionDB.userName")+"=="+property.getProperty("SqlConectionDB.password"));
   System.out.println("***&&&&&**"+property.getProperty("SqlConectionDB.address")+"=="+property.getProperty("SqlConectionDB.dbName"));
   conn=DriverManager.getConnection(Url,property.getProperty("SqlConectionDB.userName"),property.getProperty("SqlConectionDB.password"));
  } catch (ClassNotFoundException e) {
   // TODO Auto-generated catch block
   e.printStackTrace();
  } catch (SQLException e) {
   // TODO Auto-generated catch block
   e.printStackTrace();
  }
  return conn;
 }
 
 /***
  * 关闭数据库连接
  * @param con
  * @param pstmt
  * @param rs
  */
 public void closeAll(Connection con,PreparedStatement pstmt,ResultSet rs){
  if(rs !=null){
   try {
    rs.close();
   } catch (SQLException e) {
    // TODO 自动生成 catch 块
    e.printStackTrace();
   }
  }
  if(pstmt !=null){
   try {
    rs.close();
   } catch (SQLException e) {
    // TODO 自动生成 catch 块
    e.printStackTrace();
   }
  }
  if(con !=null){
   try {
    con.close();
   } catch (SQLException e) {
    // TODO 自动生成 catch 块
    e.printStackTrace();
   }
  }
 }
 
 public static void main(String[] args) {
 
  getConnection();
  System.out.println("*****成功!*****");
 }
}

0
0
分享到:
评论

相关推荐

    Java加载properties文件实现方式详解

    在上面的代码中,我们使用ClassLoader的getResourceAsStream方法加载properties文件,然后使用load方法将其加载到Properties对象中,最后使用getProperty方法获取配置文件中的配置信息。 Java提供了多种方式来加载...

    java连接SqlServer完整代码,工具类,jdbc

    java连接SqlServer完整代码,工具类,jdbc JDBC工具类的构建 1.资源释放 ... ``` ... //Driver是静态代码块,类加载了就执行,用registerDriver会二次注册 ...2.在工具类里使用静态代码块读取属性 对应文件位于根目录

    Java学习笔记-个人整理的

    {2.10.3}静态代码块}{62}{subsection.2.10.3} {2.11}\ttfamily final}{63}{section.2.11} {2.12}\ttfamily abstract}{63}{section.2.12} {2.13}\ttfamily interface}{64}{section.2.13} {2.14}JavaBean规范}{66...

    java 面试题 总结

     final 用于声明属性,方法和类,分别表示属性不可变,方法不可覆盖,类不可继承。 finally是异常处理语句结构的一部分,表示总是执行。 finalize是Object类的一个方法,在垃圾收集器执行的时候会调用被回收对象的...

    超级有影响力霸气的Java面试题大全文档

     final 用于声明属性,方法和类,分别表示属性不可变,方法不可覆盖,类不可继承。 finally是异常处理语句结构的一部分,表示总是执行。 finalize是Object类的一个方法,在垃圾收集器执行的时候会调用被回收对象的...

    asp.net知识库

    使用.ashx文件处理IHttpHandler实现发送文本及二进制数据的方法 制作一个简单的多页Tab功能 一完美的关于请求的目录不存在而需要url重写的解决方案! 在C#中实现MSN消息框的功能 XmlHttp实现无刷新三联动ListBox 鼠标...

Global site tag (gtag.js) - Google Analytics