package com.ngn.boss.ejb.msystem.ejbutil;
import java.sql.*;
import javax.sql.*;
import javax.naming.*;
/**
* <p>Title: com.ngn.boss.ejb.msystem.ejbutil.DBConn</p>
* <p>Description: 获取数据库连接</p>
* <p>Copyright: Copyright (c) 2005.7.25</p>
* <p>Company: </p>
* @author Tom
* @version 1.0
*/public class DBConn
{
private static String connType = EJBConstant.CONNTYPE;
private static String dataSource = EJBConstant.DATASOURCE;
private static String driver = EJBConstant.DRIVER;
private static String url = EJBConstant.URL;
private static String user = EJBConstant.USER;
private static String password = EJBConstant.PASSWORD;
public DBConn()
{}
/**
* 装载驱动
* @param null
* @return null
*/
private static void loadDriver()
{
try
{
Class.forName(driver).newInstance();
}
catch (Exception e)
{
System.out.println("com.ngn.boss.ejb.msystem.ejbutil.DBConn.loadDriver() Error::");
System.out.println("装载数据库驱动 " + driver + "出错!!");
e.printStackTrace();
}
}
/**
* 建立数据库连接.根据配置文件指定的ConnType的不同
* 分别支持两种建立连接的方法:直接连接 和 数据源连接
* @param null
* @return Connection
*/
public static Connection getConnection()
{
Connection conn = null;
if(connType!=null&&connType.equals("IS_CONN"))
{
loadDriver(); try
{
conn = DriverManager.getConnection(url, user, password);
}catch(SQLException e)
{
System.out.println("com.ngn.boss.ejb.msystem.ejbutil.DBConn.getConnection() Error::");
e.printStackTrace();
}
} if(connType!=null&&connType.equals("IS_DATASOURCE"))
{
try
{
Context context= new InitialContext();
DataSource ds= (DataSource) context.lookup(dataSource);
conn = ds.getConnection();
}catch(NamingException e)
{
System.out.println("com.ngn.boss.ejb.msystem.ejbutil.DBConn.getConnection() Error::");
System.out.println("查找数据源 " + dataSource + "出错!!");
e.printStackTrace();
}catch(SQLException e)
{
System.out.println("com.ngn.boss.ejb.msystem.ejbutil.DBConn.getConnection() Error::");
System.out.println("由数据源 " + dataSource + "获取数据库连接出错!!");
e.printStackTrace();
}
}
return conn;
}
/**
* 建立数据库连接(thin连接).可用于操作oracle Lob字段时使用
* @param null
* @return Connection
*/
public static Connection getThinConn()
{
Connection conn = null;
loadDriver();
try
{
conn = DriverManager.getConnection(url, user, password);
}catch(SQLException e)
{
System.out.println("com.ngn.boss.ejb.msystem.ejbutil.DBConn.getConn() Error::");
e.printStackTrace();
}
return conn;
} public static void main(String[] args)
{
Connection conn = DBConn.getConnection();
try
{
Statement stmt = conn.createStatement();
System.out.println("conn正常!!");
}catch(SQLException e)
{}
System.out.println("建立数据库连接成功!!");
}
}这就是方法,大家看看如何调用他,在struct构架下
import java.sql.*;
import javax.sql.*;
import javax.naming.*;
/**
* <p>Title: com.ngn.boss.ejb.msystem.ejbutil.DBConn</p>
* <p>Description: 获取数据库连接</p>
* <p>Copyright: Copyright (c) 2005.7.25</p>
* <p>Company: </p>
* @author Tom
* @version 1.0
*/public class DBConn
{
private static String connType = EJBConstant.CONNTYPE;
private static String dataSource = EJBConstant.DATASOURCE;
private static String driver = EJBConstant.DRIVER;
private static String url = EJBConstant.URL;
private static String user = EJBConstant.USER;
private static String password = EJBConstant.PASSWORD;
public DBConn()
{}
/**
* 装载驱动
* @param null
* @return null
*/
private static void loadDriver()
{
try
{
Class.forName(driver).newInstance();
}
catch (Exception e)
{
System.out.println("com.ngn.boss.ejb.msystem.ejbutil.DBConn.loadDriver() Error::");
System.out.println("装载数据库驱动 " + driver + "出错!!");
e.printStackTrace();
}
}
/**
* 建立数据库连接.根据配置文件指定的ConnType的不同
* 分别支持两种建立连接的方法:直接连接 和 数据源连接
* @param null
* @return Connection
*/
public static Connection getConnection()
{
Connection conn = null;
if(connType!=null&&connType.equals("IS_CONN"))
{
loadDriver(); try
{
conn = DriverManager.getConnection(url, user, password);
}catch(SQLException e)
{
System.out.println("com.ngn.boss.ejb.msystem.ejbutil.DBConn.getConnection() Error::");
e.printStackTrace();
}
} if(connType!=null&&connType.equals("IS_DATASOURCE"))
{
try
{
Context context= new InitialContext();
DataSource ds= (DataSource) context.lookup(dataSource);
conn = ds.getConnection();
}catch(NamingException e)
{
System.out.println("com.ngn.boss.ejb.msystem.ejbutil.DBConn.getConnection() Error::");
System.out.println("查找数据源 " + dataSource + "出错!!");
e.printStackTrace();
}catch(SQLException e)
{
System.out.println("com.ngn.boss.ejb.msystem.ejbutil.DBConn.getConnection() Error::");
System.out.println("由数据源 " + dataSource + "获取数据库连接出错!!");
e.printStackTrace();
}
}
return conn;
}
/**
* 建立数据库连接(thin连接).可用于操作oracle Lob字段时使用
* @param null
* @return Connection
*/
public static Connection getThinConn()
{
Connection conn = null;
loadDriver();
try
{
conn = DriverManager.getConnection(url, user, password);
}catch(SQLException e)
{
System.out.println("com.ngn.boss.ejb.msystem.ejbutil.DBConn.getConn() Error::");
e.printStackTrace();
}
return conn;
} public static void main(String[] args)
{
Connection conn = DBConn.getConnection();
try
{
Statement stmt = conn.createStatement();
System.out.println("conn正常!!");
}catch(SQLException e)
{}
System.out.println("建立数据库连接成功!!");
}
}这就是方法,大家看看如何调用他,在struct构架下
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货