java - 创建oracle数据库连接

时间:2013-04-09 10:46:32

标签: java database oracle connection driver

有谁知道创建新的oracle数据库连接的最佳方法是什么。这就是我目前所拥有的:

private static getConnection() throws Exception {
    if (!isDriverRegistered){
               DriverManager.registerDriver(new oracle.jdbc.OracleDriver());
               isDriverRegistered = true;
      }
      return DrvierManager.getConnection(connectionString);
    }

2 个答案:

答案 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;
    }


}