<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    Cyh的博客

    Email:kissyan4916@163.com
    posts - 26, comments - 19, trackbacks - 0, articles - 220

    值得懷念的JDBC

    Posted on 2009-12-28 21:07 啥都寫點 閱讀(267) 評論(0)  編輯  收藏 所屬分類: J2SE
          只有在數據庫服務開啟時,才能連接數據庫。
          需要提供連接數據庫的Java驅動類和數據庫的URL,不同數據庫的URL的格式略有不同,但都符合一個基本的格式,即“協議名+IP地址(域名)+端口+數據庫名”。
          如果數據庫設有密碼,還必須提供連接數據庫的用戶名和密碼。
          首先用Class的forName方法加載數據庫驅動類;然后使用java.sql.DriverManager的getConnection方法連接數據庫,該方法返回一個連接對象。

    package book.database;

    import java.sql.Connection;
    import java.sql.DriverManager;
    import java.sql.SQLException;

    /**
     * 連接各類數據庫的方法
     
    */

    public class DBConnector {
        
    /**
         * 獲得數據庫連接
         * 
    @param driverClassName    連接數據庫用到的驅動類的類名
         * 
    @param dbURL        數據庫的URL
         * 
    @param userName    登陸數據庫的用戶名
         * 
    @param password    登陸數據庫的密碼
         * 
    @return
         * 
    @throws ClassNotFoundException
         * 
    @throws SQLException
         
    */

        
    public static Connection getConnection(String driverClassName,
                String dbURL, String userName, String password)
                
    throws ClassNotFoundException, SQLException {
            Connection con 
    = null;

            
    // 加載連接數據庫的驅動類
            Class.forName(driverClassName);
            
    // 用用戶名、密碼連接數據庫
            con = DriverManager.getConnection(dbURL, userName, password);

            
    return con;
        }

        
        
    /**
         * 獲得Oracle數據庫的連接
         * 
    @param dricerClassName    連接數據庫用到的驅動類的類名
         * 
    @param serverHost    數據庫所在服務器的IP或域名
         * 
    @param serverPort    數據庫所在服務器的端口
         * 
    @param dbName        數據庫名
         * 
    @param userName        登陸數據庫的用戶名
         * 
    @param password        登陸數據庫的密碼
         * 
    @return
         * 
    @throws ClassNotFoundException        數據庫驅動類無法找到是拋出該異常
         * 
    @throws SQLException        創建連接時可能拋出該異常
         
    */

        
    public static Connection getOracleConnection(String dricerClassName,
                String serverHost, String serverPort, String dbName,
                String userName, String password) 
    throws ClassNotFoundException,
                SQLException 
    {
            
    // 如果沒有提供這些連接參數,則用默認值
            if (dricerClassName == null{
                dricerClassName 
    = "oracle.jdbc.driver.OracleDriver";
            }

            
    if (serverHost == null{
                serverHost 
    = "127.0.0.1";
            }

            
    if (serverPort == null{
                serverPort 
    = "1521";
            }

            
    // 構建訪問Oracle數據庫的URL
            String dbURL = "jdbc:oracle:thin:@" + serverHost + ":" + serverPort
                    
    + ":" + dbName;
            
    return getConnection(dricerClassName, dbURL, userName, password);
        }

        
        
    /**
         * 獲得DB2數據庫的連接
         
    */

        
    public static Connection getDB2Connection(String dricerClassName,
                String serverHost, String serverPort, String dbName,
                String userName, String password) 
    throws ClassNotFoundException,
                SQLException 
    {
            
    // 如果沒有提供這些連接參數,則用默認值
            if (dricerClassName == null{
                dricerClassName 
    = "com.ibm.db2.jdbc.app.DB2Driver";
            }

            
    if (serverHost == null{
                serverHost 
    = "127.0.0.1";
            }

            
    if (serverPort == null{
                serverPort 
    = "5000";
            }

            
    // 構建訪問DB2數據庫的URL
            String dbURL = "jdbc:db2://" + serverHost + ":" + serverPort
                    
    + "/" + dbName;
            
    return getConnection(dricerClassName, dbURL, userName, password);
        }

        
        
    /**
         * 獲得SQL Server數據庫的連接
         
    */

        
    public static Connection getSQLServerConnection(String dricerClassName,
                String serverHost, String serverPort, String dbName,
                String userName, String password) 
    throws ClassNotFoundException,
                SQLException 
    {
            
    // 如果沒有提供這些連接參數,則用默認值
            if (dricerClassName == null{
                dricerClassName 
    = "com.microsoft.jdbc.sqlserver.SQLServerDriver";
            }

            
    if (serverHost == null{
                serverHost 
    = "127.0.0.1";
            }

            
    if (serverPort == null{
                serverPort 
    = "1433";
            }

            
    // 構建訪問SQL Server數據庫的URL
            String dbURL = "jdbc:microsoft:sqlserver://" + serverHost + ":" + serverPort
                    
    + "; DatabaseName=" + dbName;
            
    return getConnection(dricerClassName, dbURL, userName, password);
        }

        
        
    /**
         * 獲得MySQL數據庫的連接
         
    */

        
    public static Connection getMySQLConnection(String dricerClassName,
                String serverHost, String serverPort, String dbName,
                String userName, String password) 
    throws ClassNotFoundException,
                SQLException 
    {
            
    // 如果沒有提供這些連接參數,則用默認值
            if (dricerClassName == null{
                dricerClassName 
    = "com.mysql.jdbc.Driver";
            }

            
    if (serverHost == null{
                serverHost 
    = "127.0.0.1";
            }

            
    if (serverPort == null{
                serverPort 
    = "3306";
            }

            
    // 構建訪問SQL Server數據庫的URL
            String dbURL = "jdbc:mysql://" + serverHost + ":" + serverPort
                    
    + "/" + dbName;
            
    return getConnection(dricerClassName, dbURL, userName, password);
        }

        
        
    /**
         * 獲得Sybase數據庫的連接
         
    */

        
    public static Connection getSybaseConnection(String dricerClassName,
                String serverHost, String serverPort, String dbName,
                String userName, String password) 
    throws ClassNotFoundException,
                SQLException 
    {
            
    // 如果沒有提供這些連接參數,則用默認值
            if (dricerClassName == null{
                dricerClassName 
    = "com.sybase.jdbc3.jdbc.SybDriver";
            }

            
    if (serverHost == null{
                serverHost 
    = "127.0.0.1";
            }

            
    if (serverPort == null{
                serverPort 
    = "5007";
            }

            
    // 構建訪問SQL Server數據庫的URL
            String dbURL = "jdbc:sybase:Tds:" + serverHost + ":" + serverPort
                    
    + "/" + dbName;
            
    return getConnection(dricerClassName, dbURL, userName, password);
        }

        
        
    /**
         * 獲得PostgreSQL數據庫的連接
         
    */

        
    public static Connection getPostgreSQLConnection(String dricerClassName,
                String serverHost, String serverPort, String dbName,
                String userName, String password) 
    throws ClassNotFoundException,
                SQLException 
    {
            
    // 如果沒有提供這些連接參數,則用默認值
            if (dricerClassName == null{
                dricerClassName 
    = "org.postgresql.Driver";
            }

            
    if (serverHost == null{
                serverHost 
    = "127.0.0.1";
            }

            
    if (serverPort == null{
                serverPort 
    = "5432";
            }

            
    // 構建訪問SQL Server數據庫的URL
            String dbURL = "jdbc:postgresql://" + serverHost + ":" + serverPort
                    
    + "/" + dbName;
            
    return getConnection(dricerClassName, dbURL, userName, password);
        }


        
    public static void main(String[] args) throws ClassNotFoundException, 
                SQLException 
    {
            
    // 獲得本地MySQL的連接實例,使用MySQL需要去www.mysql.com下載最新的MySQL安裝程序和Java驅動
            
    // MySQL有多個連接MySQL的驅動類,如org.gjt.mm.mysql.Driver。
            
    // 這里使用MySQL官方網站上提供的驅動類
            String mySQLDirver = "com.mysql.jdbc.Driver";
            String dbName 
    = "studentdb";
            String userName 
    = "test";
            String password 
    = "test";
            Connection con 
    = DBConnector.getMySQLConnection(mySQLDirver,
                    
    nullnull, dbName, userName, password);
            System.out.println(
    "連接MySQL數據庫成功!");
            con.close();
            System.out.println(
    "成功關閉與MySQL數據庫的連接!");
            String url 
    = "jdbc:mysql://127.0.0.1:3306/" +  dbName;
            con 
    = DBConnector.getConnection(mySQLDirver, url, userName, password);
            System.out.println(
    "連接MySQL數據庫成功!");
            con.close();
            System.out.println(
    "成功關閉與MySQL數據庫的連接!");
        }

    }



                                                                                                           --    學海無涯
            

    主站蜘蛛池模板: 三级片免费观看久久| 久久亚洲精品无码网站| 亚洲国产成人精品91久久久| 久久乐国产精品亚洲综合| 色屁屁在线观看视频免费| 国产高清不卡免费视频| 亚洲成a人片在线观看精品| 最近免费中文字幕高清大全 | 免费H网站在线观看的| 免费人成网站7777视频| 亚洲明星合成图综合区在线| 精品国产污污免费网站aⅴ| 亚洲男人天堂2020| 三级黄色免费观看| 又色又污又黄无遮挡的免费视 | 亚洲精品高清国产一线久久| 亚洲成在人线在线播放无码 | 少妇无码一区二区三区免费| 亚洲AV无码成人网站久久精品大| 亚洲av午夜成人片精品网站| 久久成人a毛片免费观看网站| 免费看一级做a爰片久久| 一区二区三区免费在线视频 | 日本免费人成在线网站| ww亚洲ww在线观看国产| 成人永久免费高清| 亚洲精品二三区伊人久久| 日本人成在线视频免费播放| 亚洲福利视频一区二区三区| 日韩中文字幕在线免费观看| 高清免费久久午夜精品| 亚洲精品美女久久久久| 国产免费av片在线无码免费看| 97se亚洲国产综合自在线| 免费一级毛片在线播放不收费| 亚洲人成www在线播放| 免费国产在线精品一区 | 亚洲人成在线播放| 亚洲国产精品成人久久蜜臀| 激情无码亚洲一区二区三区| 四虎免费在线观看|