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

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

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

    隨筆 - 20  文章 - 57  trackbacks - 0
    <2025年5月>
    27282930123
    45678910
    11121314151617
    18192021222324
    25262728293031
    1234567

    常用鏈接

    留言簿(2)

    隨筆分類

    隨筆檔案

    文章分類

    文章檔案

    51CTO

    搜索

    •  

    最新評論

    閱讀排行榜

    評論排行榜

       

    什么是JDBC

    JDBC是由一組Java語言編寫的類和接口組成,用來處理關系數據庫!利用JDBC的API,可用Java語法去訪問各種各樣的SQL數據庫。
    個人認為:
    把JDBC當做是一門連接Java程序連接數據庫的技術不如把JDBC當做連接程序和數據庫的橋梁。

    以下我要寫的例子是用純Java的Driver來連接數據庫的方式。連接的數據庫是mysql。


    JDBC編程步驟


           1.加載數據庫驅動(jar文件)
                //需要下載一個數據庫的jar包,并導入相應的JDBC項目中,創建路徑!
                Class.forName("com.mysql.jdbc.Driver");
          
           2.獲得數據庫連接
                DriverManager.getConnection("jdbc:mysql://Database_IP:3306/DATABASE","DATAROOT","PASSWORD");//返回Connection————獲得數據庫連接
           
           3.創建語句
                String sql = "SQL_TORUNNING";
                向DATABASE發送一個執行語句
                Statement stmt = conn.createStatement();//創建一個 Statement 對象來將 SQL 語句發送到數據庫.
                     Statement—————SQL_RUNNING!!!
          
           4.執行查詢
                ResultSet rs = Statement.executeQuery(SQL_RUNNING);//執行SQL_RUNNING命令,返回ResultSet
                //如果執行的數據庫語句不是對數據庫中的內容進行修改的話,則用 Statement.executeQuery()
                //如果執行的數據庫語句是修改數據庫中的內容進行修改的話,則用 Statement.executeUpdate()
                //當然他們返回值的類型也不同!
                    //根據命令的不同Statement的方法也不同
                      
                        創建一個表      
                        Statement.execute(create a table)
                       
                        增刪改查Insert、update、delete...
                        Statement.executeUpdate()
                      
                        查詢語句Select
                        Statement.executeQuery(Select);
                      
           5.遍歷結果集
                while(ResultSet.next()){
                    ResultSet.getInt(int);
                    ResultSet.getString(int);
                    ......
                }
           
           
           6.關閉數據庫連接
                   Connection.close();
         
          

    步驟分析


    (圖一)


    1.加載數據庫驅動

            
             我們來看圖一,工廠和幾個農村之間有一條河,不能夠直接進行溝通,工廠就相當于一個Java程序,而幾個農村就相當于不同的數據庫;
             工廠為B村生產一些材料,但是生產出來之后并不能直接交給B村,然后工廠的廠長就想在工廠和B村之間架設一座橋梁來運送生產出來的材料——我們大可把數據庫驅動加載當做這個架設橋梁的想法。


             在程序中我們要怎么做呢?   
             在加載數據庫驅動的時候,必須要將相應的mysql-connector-java-5.0.4-bin.jar包,然后將jar包導入相應的項目中如下圖
            
             在mysql-connector-java-5.0.4-bin.jar右擊建立路徑,就相當于import的過程——我不確定這么說對不對,但我是這么理解的。
             建立路徑后,你的項目將出現一個新的文件,如下圖
            
             這樣的話,你就可以順利加載數據庫驅動,否則當你在運行的時候會出現找不到Driver.class的異常,也就是無法加載數據庫驅動。
                 Class.forName("com.mysql.jdbc.Driver");



    2.獲得數據庫連接

            
             既然廠長有想法和B村之間架設一座橋梁,那就要和B村商量一下啊!然后,廠長就要去河的對岸,那條河呢?就是在工廠和B村之間的那條河(這條河就相當于Database_IP),然后去找B村的村長(在這里要明白是B村的村長不是A村的,所以不能找錯了!!!),找到B村村長,“我要在工廠和B村之間建設一座橋,來運輸我們的東西”,下一步談的當然是條件了,工廠老板說“我要B村出資90%,剩下的由工廠出!!”村長當然不干了,這橋當然也就沒法建設了!!!所以只有當兩者都滿意的情況下才可以建設橋梁(比如,各處50%)其實談條件的過程就相當于驗證數據庫的"DATAROOT"和"PASSWORD"!!!只有兩者都正確的情況下才可以進行下一步的計劃——也就是建設橋梁!!!

             在程序中的過程如下:
             Connection conn = null;
             conn = DriverManager.getConnection("jdbc:mysql://Database_IP:3306/DATABASE","DATAROOT","PASSWORD");
             //返回Connection————獲得數據庫連接


    3.創建語句


             橋已經建好了,然后工廠要準備一些卡車來運輸生產的貨物,然后農村需要根據不同的貨物來處理這些貨物,有些貨物直接卸在B村就可以了,但有些貨物卸在B村之后,B村要做一些處理然后運回工廠!!!
           
             這個過程在程序是怎么體現的呢?
             String sql = "SQL_TORUNNING";
             向DATABASE發送一個執行語句
             Statement stmt = conn.createStatement();//創建一個 Statement 對象來將 SQL 語句發送到數據庫.
             Statement—————SQL_RUNNING!!!


    4.處理數據庫發送來的消息

             如果工廠運輸到B村的貨物,只要B村的村長給工廠開一張條就行了;但也會有一些貨物需要運回工廠!!

             在程序中:
             ResultSet rs = Statement.executeQuery(SQL_RUNNING);//執行SQL_RUNNING命令,返回ResultSet
             //如果執行的數據庫語句不是對數據庫中的內容進行修改的話,則用 Statement.executeQuery()——需要返回一些貨物
             //如果執行的數據庫語句是修改數據庫中的內容進行修改的話,則用 Statement.executeUpdate()——開張條就行了
             //當然他們返回值的類型也不同!
             //根據命令的不同Statement的方法也不同
                      
                     創建一個表      
                     Statement.execute(create a table)
                       
                     增刪改查Insert、update、delete...
                     Statement.executeUpdate()
                      
                     查詢語句Select
                     Statement.executeQuery(Select);
                      


    5.處理數據庫傳回的內容


            這個過程由工廠完成,如果是返回的一些貨物的話,工廠要做一些處理。
     
            處理的過程:
                    while(ResultSet.next()){
                    ResultSet.getInt(int);
                    ResultSet.getString(int);
                    ......
                }

    6.關閉數據庫

            這樣的話,工廠和B村的交易就完成,在現實世界中工廠和B村之間的橋梁不會被拆除,因為建一座橋的代價很大,但在程序和數據庫之間架設一座橋梁簡直太簡單了,所以在這里我們要把這座橋梁拆除。

            Connection.close();




    簡單的舉了一個例子來說明數據庫和程序之間是怎么連接的,望對大家有所幫助。








    posted on 2010-12-09 18:37 tovep 閱讀(1661) 評論(1)  編輯  收藏

    FeedBack:
    # re: Java連接數據庫技術JDBC 2011-06-04 15:35 那一劍的風情
    不錯 ,很詳細,即使不懂也看的懂  回復  更多評論
      

    只有注冊用戶登錄后才能發表評論。


    網站導航:
     
    主頁 主站蜘蛛池模板: 亚洲日本久久久午夜精品| 337p日本欧洲亚洲大胆色噜噜| 国产精品亚洲四区在线观看| 1024免费福利永久观看网站| 4480yy私人影院亚洲| 免费在线观看视频网站| 亚洲最新中文字幕| 国产精品无码免费播放| 亚洲欧美日韩中文字幕在线一区 | 99re6在线精品免费观看| 久久久久亚洲av毛片大| 日本高清不卡aⅴ免费网站| 亚洲成AV人片在WWW色猫咪| 桃子视频在线观看高清免费视频| 亚洲福利视频一区| 在线视频免费观看爽爽爽| 亚洲性无码AV中文字幕| 免费a级毛片视频| 中国毛片免费观看| 久久久久亚洲AV无码专区体验| 最近中文字幕电影大全免费版| 亚洲一区在线免费观看| 精品国产免费观看久久久| 日本在线观看免费高清| 亚洲精品无码MV在线观看| 青草草色A免费观看在线| 在线观看亚洲专区| 亚洲AV日韩精品久久久久| 人成午夜免费视频在线观看| 国产成人亚洲精品蜜芽影院| 亚洲精品无码专区久久久| 男女免费观看在线爽爽爽视频 | 亚洲欧美国产国产综合一区| 亚洲av无码不卡私人影院| 免费在线中文日本| 亚洲日韩久久综合中文字幕| 国产亚洲美日韩AV中文字幕无码成人| 精品一区二区三区免费毛片爱 | 久久夜色精品国产嚕嚕亚洲av| 又粗又大又黑又长的免费视频 | 99re免费视频|