Properties属性类配置数据库连接

一、Driver.properties文件内容

drivers=org.gjt.mm.mysql.Driver
url=jdbc:mysql://localhost:3306/lunzi
user=root
password=123456

二、DBConnection.java数据库连接类

/**
 * 通过属性文件加载数据库驱动程序,建立数据库的连接
 */
package apple.lunzi.jdbc;

import java.io.FileNotFoundException;
import java.io.IOException;
import java.io.InputStream;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
import java.util.Properties;
import org.apache.log4j.Logger;

public class DBConnection
{
 protected static Logger logger = Logger.getLogger(DBConnection.class.getName());
 private String url;//数据库URL
 private String userName;//登录数据库用户名
 private String password;//用户密码
 
 /**
  * 返回到数据库的一个连接,在一个系统或类中,如果经常进行数据库的相关操作
  * 会把建立数据库的连接作为一个单独的方法。
  */
 public Connection getConnection()
 {
  getProperty();
  Connection con = null;
  try
  {
   con = DriverManager.getConnection(url, userName, password);
  }
  catch(SQLException e)
  {
   //e.printStackTrace();
   logger.error("找不到指定的文件!!!",e);
  }
    
  return con;
 }
 
 /**
  * 读取属性配置文件
  */
 private void getProperty()
 {
  Properties prop = new Properties();
  try
  {
   InputStream in = this.getClass().getResourceAsStream("/Driver.properties");
   prop.load(in);
 
   String driver = prop.getProperty("drivers");
   if(driver != null)
    System.setProperty("jdbc.drivers", driver);
   url = prop.getProperty("url");
   userName = prop.getProperty("user");
   password = prop.getProperty("password");   
  }
  catch(FileNotFoundException e)
  {
   e.printStackTrace();
  }
  catch(IOException e)
  {
   e.printStackTrace();
  }
 }
}
三、JdbcManager.java封装jdbc类文件

package apple.lunzi.jdbc;

import java.sql.*;

public class JdbcManager extends DBConnection {
 
 private Connection conn = null;
 private Statement stmt = null;
 private ResultSet rs = null;

 public  ResultSet select(String sql){

  try {
   conn = super.getConnection();
   stmt = conn.createStatement();
   rs = stmt.executeQuery(sql);
  } catch (SQLException e) {
   e.printStackTrace();
  }
  return rs;
 }

......封装其他的方法(update,insert,delete)

 public void close(){

  try {
   if(rs != null)
    rs.close();
   if(stmt != null)
    stmt.close();
   if(conn != null)
    conn.close();
  } catch (SQLException e) {
   e.printStackTrace();
  }
 }
}

lunzi   2007-05-13 12:45:41 评论:0   阅读:2008   引用:0

发表评论>>

署名发表(评论可管理,不必输入下面的姓名)

姓名:

主题:

内容: 最少15个,最长1000个字符

验证码: (如不清楚,请刷新)

Copyright@2004-2010 powered by YuLog