数据库连接类:ConnOracl
package com.zgc.db.oracle;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import org.apache.log4j.Logger;
/**
* 传统方式连接Oracle数据库
*
* 性能、可靠性、稳定性会随着用户访问量的增加逐渐下降
* 根本问题与Connection对象的创建有关
*
* @author Zhanggc
* 日期:2011年3月9日 09:20:17
*/
public class ConnOral {
/**
* 定义变量
*/
private static Connection conn;
private static Logger log = Logger.getLogger(ConnOral.class);
/**
* 数据库驱动
*/
private static final String driver = "oracle.jdbc.driver.OracleDriver";
/**
* 数据库连接串
*/
private static final String url = "jdbc:oracle:thin:@127.0.0.1:1521:orcl";
/**
* 用户名
*/
private static final String username = "jnzb";
/**
* 密码
*/
private static final String password = "jnzb";
/**
* 驱动类实例
*/
private static Object driverInstance = null;
/**
* 连接数据库
* @return
* @throws SQLException
*/
public static Connection getConn() throws SQLException{
if (driverInstance == null){
try {
driverInstance = Class.forName(driver);
log.info("Oracle数据库驱动实例不存在,成功创建了一个!");
} catch (Exception e) {
e.printStackTrace();
}
}
conn = DriverManager.getConnection(url, username, password);
return conn;
}
/**
* 关闭数据库连接
*/
public static void close(Connection connection,PreparedStatement pstmt,ResultSet rs){
try {
if (rs != null){
rs.close();
}
} catch (Exception e) {
log.error("关闭ResultSet对象时失败,原因是"+e.getMessage());
}
try {
if (pstmt != null){
pstmt.close();
}
} catch (Exception e) {
log.error("关闭PreparedStatement对象时失败,原因是"+e.getMessage());
}
try {
if (connection != null){
connection.close();
}
} catch (Exception e) {
log.error("关闭Connection对象时失败,原因是"+e.getMessage());
}
}
}
在上面代码中,数据库连接串,即:
private static final String url = "jdbc:oracle:thin:@127.0.0.1:1521:orcl";
中的orcl是sid,千万不能出错,它可通过以下代码来得到:
select instance_name from v$instance;或
select name from v$database;
另外,这种连接方式需要jar包(作者以提供),下载后拷到工程的lib文件夹中即可使用。如果还是不能,右键单击ojdbc14.jar,重新Build Path。