騎豬闖天下

          J2ME隨筆,記錄成長的腳步

          導(dǎo)航

          <2008年9月>
          31123456
          78910111213
          14151617181920
          21222324252627
          2829301234
          567891011

          隨筆檔案

          文章檔案

          統(tǒng)計

          留言簿(3)

          閱讀排行榜

          評論排行榜

          [J2EE-原創(chuàng)] MySQL使用JDBC查詢實例

          使用JDBC連接MySQL數(shù)據(jù)庫查詢實例

          [原創(chuàng) - 轉(zhuǎn)載請附帶連接 http://www.aygfsteel.com/myfly/archive/2008/09/18/229802.html ]
          [版權(quán):騎豬闖天下]

          使用JDBC連接數(shù)據(jù)看查詢主要步驟如下:
          1. 加載JDBC驅(qū)動程序;
          2. 負(fù)責(zé)管理JDBC驅(qū)動程序的類 DriverManager 會識別加載的驅(qū)動程序,用 DriverManager  類的方法 getConnection()來創(chuàng)建一個數(shù)據(jù)庫連接類的實例對象;
          3. 獲取Connection對象的實例,用Connection對象的方法創(chuàng)建一個 Statement 對象實例,執(zhí)行標(biāo)準(zhǔn)的SQL語句,對數(shù)據(jù)庫、表進行相關(guān)操作。

          4. 返回的結(jié)果用 ResultSet  類來處理。

          程序代碼如下:
          package packageOne;

          import java.sql.*;

          /**
           * 使用JDBC連接數(shù)據(jù)庫MySQL的過程
           * DataBase:studentinfo, table:student;
           * 
          @author DuChangfeng 2008 09 18
           
          */

          public class DataBaseTest {
              
              
          public static Connection getConnection() throws SQLException, 
                      java.lang.ClassNotFoundException 
              
          {
                  
          //第一步:加載MySQL的JDBC的驅(qū)動
                  Class.forName("com.mysql.jdbc.Driver");
                  
                  
          //取得連接的url,能訪問MySQL數(shù)據(jù)庫的用戶名,密碼;studentinfo:數(shù)據(jù)庫名
                  String url = "jdbc:mysql://localhost:3306/studentinfo";        
                  String username 
          = "root";
                  String password 
          = "admin";
                  
                  
          //第二步:創(chuàng)建與MySQL數(shù)據(jù)庫的連接類的實例
                  Connection con = DriverManager.getConnection(url, username, password);        
                  
          return con;        
              }

              
              
              
          public static void main(String args[]) {
                  
          try
                  
          {
                      
          //第三步:獲取連接類實例con,用con創(chuàng)建Statement對象類實例 sql_statement
                      Connection con = getConnection();            
                      Statement sql_statement 
          = con.createStatement();
                      
                      
          /************ 對數(shù)據(jù)庫進行相關(guān)操作 ************/                
                      
          //如果同名數(shù)據(jù)庫存在,刪除
                      
          //sql_statement.executeUpdate("drop table if exists student");            
                      
          //執(zhí)行了一個sql語句生成了一個名為student的表
                      
          //sql_statement.executeUpdate("create table student (id int not null auto_increment, name varchar(20) not null default 'name', math int not null default 60, primary key (id) ); ");
                      
          //向表中插入數(shù)據(jù)
                      
          //sql_statement.executeUpdate("insert student values(1, 'liying', 98)");
                      
          //sql_statement.executeUpdate("insert student values(2, 'jiangshan', 88)");
                      
          //sql_statement.executeUpdate("insert student values(3, 'wangjiawu', 78)");
                      
          //sql_statement.executeUpdate("insert student values(4, 'duchangfeng', 100)");
                      
          //---以上操作不實用,但是列出來作為參考---
                      
                      
          //第四步:執(zhí)行查詢,用ResultSet類的對象,返回查詢的結(jié)果
                      String query = "select * from student";            
                      ResultSet result 
          = sql_statement.executeQuery(query);
                      
          /************ 對數(shù)據(jù)庫進行相關(guān)操作 ************/
                      
                      System.out.println(
          "Student表中的數(shù)據(jù)如下:");
                      System.out.println(
          "------------------------");
                      System.out.println(
          "學(xué)號" + " " + "姓名" + " " + "數(shù)據(jù)成績 ");
                      System.out.println(
          "------------------------");
                      
                      
          //對獲得的查詢結(jié)果進行處理,對Result類的對象進行操作
                      while (result.next()) 
                      
          {
                          
          int number          = result.getInt("id");
                          String name      
          = result.getString("name");
                          String mathScore 
          = result.getString("math");
                          
          //取得數(shù)據(jù)庫中的數(shù)據(jù)
                          System.out.println(" " + number + " " + name + " " + mathScore);                
                      }

                      
                      
          //關(guān)閉連接和聲明
                      sql_statement.close();
                      con.close();
                      
                  }
           catch(java.lang.ClassNotFoundException e) {
                      
          //加載JDBC錯誤,所要用的驅(qū)動沒有找到
                      System.err.print("ClassNotFoundException");
                      
          //其他錯誤
                      System.err.println(e.getMessage());
                  }
           catch (SQLException ex) {
                      
          //顯示數(shù)據(jù)庫連接錯誤或查詢錯誤
                      System.err.println("SQLException: " + ex.getMessage());
                  }

              }


          }

          posted on 2008-09-18 21:43 騎豬闖天下 閱讀(7308) 評論(4)  編輯  收藏

          評論

          # re: [J2EE-原創(chuàng)] MySQL使用JDBC查詢實例[未登錄] 2008-09-18 22:42 lf

          寫得很好,不過這入門型的文章有點不適合發(fā)表在首頁,呵呵!  回復(fù)  更多評論   

          # re: [J2EE-原創(chuàng)] MySQL使用JDBC查詢實例 2008-09-19 18:43 eLin

          哥們寫的相當(dāng)規(guī)范!  回復(fù)  更多評論   

          # re: [J2EE-原創(chuàng)] MySQL使用JDBC查詢實例 2010-06-16 12:53 dfa

          dsafdsa  回復(fù)  更多評論   

          # re: [J2EE-原創(chuàng)] MySQL使用JDBC查詢實例 2015-04-22 20:45 Haojun

          找了好多例子,還是這個講得最詳細(xì),絕對贊一個!  回復(fù)  更多評論   


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


          網(wǎng)站導(dǎo)航:
           
          主站蜘蛛池模板: 章丘市| 民县| 静乐县| 峨眉山市| 许昌市| 淮南市| 东城区| 库车县| 瑞金市| 抚宁县| 酉阳| 乌拉特后旗| 仪陇县| 苏尼特右旗| 将乐县| 沁阳市| 章丘市| 聊城市| 资中县| 博白县| 乐平市| 志丹县| 荃湾区| 江安县| 玉环县| 长春市| 锦屏县| 兰溪市| 明水县| 黎城县| 通辽市| 宝兴县| 大同县| 文化| 连平县| 汉沽区| 富源县| 和静县| 巨鹿县| 青岛市| 古丈县|