有谁知道创建新的oracle数据库连接的最佳方法是什么。这就是我目前所拥有的:
private static getConnection() throws Exception {
if (!isDriverRegistered){
DriverManager.registerDriver(new oracle.jdbc.OracleDriver());
isDriverRegistered = true;
}
return DrvierManager.getConnection(connectionString);
}
答案 0 :(得分:4)
你不应该自己注册司机;当加载它的类时,JDBC驱动程序本身会这样做。所以,不要自己打电话给DriverManager.registerDriver
。
有两个步骤:确保加载JDBC驱动程序类,并获得连接。
要加载JDBC驱动程序类,请使用如下所示的行:
Class.forName("oracle.jdbc.OracleDriver");
然后通过调用DriverManager.getConnection
来获得连接:
Connection conn = DriverManager.getConnection(connectionString);
请注意,如果您使用较新的JDBC版本和合适的驱动程序,则甚至不需要显式加载驱动程序类;它将被自动找到并加载(通过Java的服务发现机制)。在这种情况下,您只需拨打DriverManager.getConnection
。
答案 1 :(得分:0)
这门课可能会帮到你
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
public class JDBCHelper {
public static void close(Statement obj)
{
try
{
if(obj!=null)
obj.close();
}
catch(SQLException e)
{
e.printStackTrace();
}
}
public static void close(ResultSet obj)
{
try
{
if(obj!=null)
obj.close();
}
catch(SQLException e)
{
e.printStackTrace();
}
}
public static void close(Connection obj)
{
try
{
if(obj!=null)
obj.close();
}
catch(SQLException e)
{
e.printStackTrace();
}
}
public static Connection getConnection()
{
Connection con = null;
String url = "url" //give url
String pwd = "password";//give password
String uid = "userId";//give userid
try
{
Class.forName("oracle.jdbc.OracleDriver"); //pass driver name
con = DriverManager.getConnection(url,uid,pwd);
con.setAutoCommit(false);
}
catch(Exception e)
{
if(con!=null)
try {
con.rollback();
} catch (SQLException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
}
e.printStackTrace();
}
return con;
}
}