使用静态块读取属性(.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
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值