数据源JAVA连接类

/*
 * Created on 2005-1-26
 *
 * To change the template for this generated file go to
 * Window>Preferences>Java>Code Generation>Code and Comments
 */

/**
 * @author Administrator
 *
 * To change the template for this generated type comment go to
 * Window>Preferences>Java>Code Generation>Code and Comments
 */
import java.sql.*;
import javax.sql.*;//数据元
import javax.naming.*;//JNDI

public class ConnectionLocator {
 private String  errMessage;  //错误信息
 private DataSource  crocodileDS;  //数据源
 static private ConnectionLocator connectionLocator=new ConnectionLocator() ; //创建对象
 
  private ConnectionLocator()//构造函数
  {
  }
  static public ConnectionLocator getInstance()//得到对象
  {
   return connectionLocator;
  }
  public Connection getConnection(String param) //得到连接
  {
   Context ctx=null;
   Connection con=null;
   try
      {
     ctx=new InitialContext();     //创建上下文环境
     crocodileDS=(DataSource)ctx.lookup(param);    //查找数据源
     con=crocodileDS.getConnection(); 
   }catch(NamingException e1)
   {
    System.out.println(e1.getMessage());
    errMessage="数据库驱动不存在!";
    return null;
    
   }
   catch(SQLException e2)
   {
    errMessage="数据库异常!";
    return null;
   }
   return con;
  }
 /*说明:构建一个JDBC连接,param是数据源的JNDI名。函数中如果捕获异常,则返回的Connection值为null,并在成员变量errMessage中保存错误消息*/
 
 
//   使用该变量保存方法getConnection中使用JNDI名lookup的结果,减少查找的时间消耗
 
 public String  getMessage()
 {
  return errMessage;
 }
 /*说明:返回errMessage*/

 
  

}

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
package com.hexiang.utils.dao; import java.sql.Connection; import java.sql.DriverManager; import java.sql.ResultSet; import java.sql.SQLException; import java.sql.Statement; import java.util.Properties; import javax.naming.Context; import javax.naming.InitialContext; import javax.naming.NamingException; import javax.sql.DataSource; import org.apache.log4j.Logger; public class DBConnection { /** * 获得与数据库连接 * * @param path * @return Connection */ public static Connection getConn(String classDriver, String url, String user, String pwd) { try { Class.forName(classDriver); return DriverManager.getConnection(url, user, pwd); } catch (ClassNotFoundException ex) { ex.printStackTrace(); } catch (SQLException ex) { ex.printStackTrace(); } return null; } public static Connection getConn(DataSource dataSource) { try { return dataSource.getConnection(); } catch (SQLException ex) { ex.printStackTrace(); } return null; } public static Connection getConn(String jndiName) { try { Context ctx; ctx = new InitialContext(); DataSource dataSource = (DataSource) ctx.lookup("java:comp/env/" + jndiName); return dataSource.getConnection(); } catch (NamingException ex) { ex.printStackTrace(); } catch (SQLException ex) { ex.printStackTrace(); } return null; } public static Connection getConn(Properties properties) { try { String driver = properties.getProperty("jdbc.driverClassName"); String url = properties.getProperty("jdbc.url"); String user = properties.getProperty("jdbc.username"); String password = properties.getProperty("jdbc.password"); Class.forName(driver); return DriverManager.getConnection(url, user, password); } catch (ClassNotFoundException ex) { ex.printStackTrace(); } catch (SQLException ex) { ex.printStackTrace(); } return null; } /** * oracle连接 * * @param path * @return Connection */ public static Connection getOracleConn(String

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值