`

连接mysql数据库(1)

阅读更多

package org.langsin.util;


import java.io.InputStream;
import java.sql.Connection;
import java.sql.DriverManager;
import java.util.Properties;

public class DBConnection {
 private static DBConnection instance;
 public static synchronized Connection getConnection() throws Exception{
  if(instance==null){
   instance=new DBConnection();
  }
  return instance._getConnection();
 }

 private DBConnection() {

 }

 public Connection _getConnection() throws Exception {
  String sDBDriver=null;
  String sConnection=null;
  String sUser=null;
  String sPassword=null;
  
  Properties p=new Properties();
  InputStream is=getClass().getResourceAsStream("/org/langsin/struts/db.properties");
  p.load(is);
  sDBDriver=p.getProperty("DBDriver");
  sConnection=p.getProperty("Connection");
  sUser=p.getProperty("User");
  sPassword=p.getProperty("Password");

  Properties pr=new Properties();
  pr.put("user", sUser);
  pr.put("password", sPassword);
  pr.put("characterEncoding", "UTF-8");
  pr.put("userUnicode","true");
  Class.forName(sDBDriver).newInstance();
  
  return DriverManager.getConnection(sConnection,pr);

 }

//思路:通过流对到文件上来读取文件.然后,利用 Properties的实例从输入流中读取属性列表(键和元素对)。

读取文件,p.getProperty("DBDriver");通过键得到值.再赋给sDBDriver.所以就sDBDriver=p.getProperty("DBDriver");

通过put方法再将值对应到相应的键上.  这两个实际上是连接数据库Class.forName(sDBDriver).newInstance();
  
  return DriverManager.getConnection(sConnection,pr);

 public static void main(String args[]){
  try {
   System.out.println(DBConnection.getConnection());
  } catch (Exception e) {
   // TODO Auto-generated catch block
   e.printStackTrace();
  }
 }

 
}

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics