<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數據庫的連接!");
        }

    }



                                                                                                           --    學海無涯
            

    主站蜘蛛池模板: 日本亚洲欧洲免费天堂午夜看片女人员| 无码国产精品一区二区免费模式| 亚洲免费日韩无码系列 | 亚洲av永久无码精品网站| 少妇太爽了在线观看免费视频 | 成人免费一区二区三区 | 日韩大片免费观看视频播放| 亚洲精品乱码久久久久久自慰| 无码国产精品一区二区免费式直播| 激情小说亚洲色图| 久久久亚洲精品国产| 成年人性生活免费视频| 一级黄色毛片免费看| 亚洲日本香蕉视频| 亚洲午夜激情视频| 毛片基地免费视频a| 水蜜桃视频在线观看免费播放高清| 亚洲va精品中文字幕| 亚洲综合熟女久久久30p| 免费a级毛片无码a∨蜜芽试看| 国产男女爽爽爽免费视频| 亚洲伦理中文字幕| 亚洲成AV人片一区二区密柚| 国产极品粉嫩泬免费观看| 最近中文字幕电影大全免费版 | 免费看a级黄色片| 免费的全黄一级录像带| 精品亚洲福利一区二区| 亚洲婷婷天堂在线综合| 亚洲精品无码mv在线观看网站| 日韩电影免费在线观看视频| 4444www免费看| 中文在线免费不卡视频| 国产亚洲精品美女| 亚洲熟女综合一区二区三区| 亚洲欧洲国产日韩精品| 久久久久国产亚洲AV麻豆| 国产免费黄色大片| 四虎影院免费在线播放| 免费可以看黄的视频s色| 99久久免费精品高清特色大片|