JDBC结合属性文件连接数据库

首先说明下:根据sun的声明,JDBC是一个注册了商标的术语,而并非Java  Database Connectivity的首字母缩写。对它的命名体现了对ODBC的致敬,ODBC是微软开创的标准数据库API,并因此而并入了SQL标准中!

基于属性文件连接数据库,好处是便于修改和维护管理

 

首先建立属性文件,命名为dbconfig.properties(注意后缀一定要一样的!)

如图:

文件内容:

切换到Source下编辑(个人认为比较方便);

内容:

driverClass=oracle.jdbc.driver.OracleDriver
url=jdbc:oracle:thin:@localhost:1521:myoracle
loginId=scott
loginPass=tiger

driverClass:自定义驱动名

url:连接数据库的URL

(相信大家都知道这些是什么意思!)

建立一个类读取属性文件中的内容:

public class DBconfigReader {
/**
 * 读取属性文件
 */
 public static Properties getDBinfo(){
  Properties pt = new Properties();
  try {
   pt.load(new FileInputStream("dbconfig.properties"));
  } catch (FileNotFoundException e) {
   e.printStackTrace();
  } catch (IOException e) {
   e.printStackTrace();
  }
  return pt;
 }
}

建立一个类连接数据库并提供释放资源的方法:

public class DButilsdemo {

 /**链接数据库
  * @param args
  */
 public static Connection  getDBConn(){
  Properties pt= DBconfigReader.getDBinfo();
  String driverClassName =pt.getProperty("driverClass");
  String url = pt.getProperty("url");
  String loginName = pt.getProperty("loginId");
  String loginPass = pt.getProperty("loginPass");
  
       //链接数据库
  Connection conn= null;
  try {
   Class.forName(driverClassName);
     conn = DriverManager.getConnection(url,loginName,loginPass);
  } catch (ClassNotFoundException e) {
   e.printStackTrace();
  }catch (SQLException e) {
   e.printStackTrace();
  }
  return conn;
 }
 /**
  * 释放数据库资源
  */
 public static void releaseDBresource(Connection conn,Statement stm,ResultSet rs){
  try {
   
   if(rs!=null){
   rs.close();
   }
   if(stm!=null){
   stm.close();
   }
   if(conn!=null){
   conn.close();
   }
  } catch (SQLException e) {
   e.printStackTrace();
  }
 }
}

用法示例:

public static void selectEmp(){
  Connection conn= null;
  Statement sta=null;
  ResultSet rs= null;
  //获得数据库链接
  try {
   conn=DButilsdemo.getDBConn();
   sta = conn.createStatement();
      String sql = "select * from emp";
      rs = sta.executeQuery(sql);
      while(rs.next()){
      String id = rs.getString("empno"); 
      String name = rs.getString("ename"); 
      String job = rs.getString("JOB");
      System.out.println(id+"\t"+name+"\t"+job);
      }
     
  } catch (SQLException e) {
   e.printStackTrace();
  }finally{
  DButilsdemo.releaseDBresource(conn, sta, null);
  }
 }

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值