一个通用数据库链接的方法

实际的项目中可能会要做数据库的移植,不同 的数据库有不同的链接方式,我闲着没事,写了一个通用的数据库的链接方法....呵呵...

 

 

 /**
  * @author SMALL_LEO
  * @VERSION 1.0
  * @param db_flag为链接的数据库代码,1为oracle
  *     2 为sybase  3为   db2  4为sqlerver 5为mysql
  *     driver 为数据库驱动
  *        ip:为服务器的ip
  *        dk:为数据库端口号
  *        userName:数据库用户名
  *        pwd:数据库密码
  *        dbname:数据库名
  *@DATE:2011-01-22 12:12
  */
 public static void connDB(int db_flag,String driverName ,String ip,String dk,String userName,String pwd ,String dbname ){
  //匹配数据库的链接
  String driverNames="";//驱动程序名
  String urls="";//链接路径
  switch(db_flag){
  case 1:
   driverNames = driverName;//数据库驱动名 dk:1521
   urls = "jdbc:oracle:thin:@"+ip+":"+dk+":"+dbname;//链接数据库url
   break;
  case 2:
   driverNames = driverName;//数据库驱动名 dk:5007
   urls = "jdbc:sybase:Tds:"+ip+":"+dk+"/"+dbname;//链接数据库url
   break;
  case 3:
   driverNames = driverName;//数据库驱动名 dk:5000
   urls = "jdbc:db2://"+ip+":"+dk+"/"+dbname;//链接数据库url
   break;
  case 4:
   driverNames = driverName;//数据库驱动名 dk:1433
   urls = "jdbc:microsoft:sqlserver://"+ip+":"+dk+";DatabaseName="+dbname;//链接数据库url
   break;
  case 5:
   driverNames = driverName;//数据库驱动名 dk:3306
   urls = "jdbc:mysql://"+ip+":"+dk+"/"+dbname;//链接数据库url
   break;
  }
  Connection conn=null;
  try {
   //创建链接
   Class.forName(driverName).newInstance();
   if(db_flag==4){
    Properties pro = System.getProperties();
    pro.put("user", userName);
    pro.put("password", pwd);
    conn = DriverManager.getConnection(urls,pro);
   }else{
    conn = DriverManager.getConnection(urls,userName,pwd);
   }
  } catch (InstantiationException e) {
   e.printStackTrace();
  } catch (IllegalAccessException e) {
   e.printStackTrace();
  } catch (ClassNotFoundException e) {
   e.printStackTrace();
  } catch (SQLException e) {
   e.printStackTrace();
  }finally{
   //记得关闭链接哦
   if(conn==null){
    try {
     conn.close();
    } catch (SQLException e) {
     e.printStackTrace();
    }
   }
  }
 }
 
  其实我们还可以对这个做一个修改,我们可以把这个写到数据库的一个properties的属性配置文件中,那样的话,我们的数据库链接就更加的灵活,并且也可以彻底的实现软件与数据库平台的无关性。献丑了...各位.
 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值