簡體   English   中英

java-創建一個oracle數據庫連接

[英]java - creating an oracle database connection

有誰知道最好的方法是創建一個新的oracle數據庫連接。 這是我目前擁有的:

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

您不應該自己注冊駕駛員。 JDBC驅動程序本身將在加載其類時執行此操作。 因此,請勿自己調用DriverManager.registerDriver

分兩個步驟:確保JDBC驅動程序類已加載,並獲得連接。

要加載JDBC驅動程序類,請使用如下代碼:

Class.forName("oracle.jdbc.OracleDriver");

然后通過調用DriverManager.getConnection獲得連接:

Connection conn = DriverManager.getConnection(connectionString);

請注意,如果您使用的是較新的JDBC版本和合適的驅動程序,則甚至無需顯式加載驅動程序類。 它會被發現並自動加載(通過Java的服務發現機制)。 在這種情況下,您只需要調用DriverManager.getConnection

這節課可能對你有幫助

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


}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM