把困難踩在腳下

          迎難而上

           

          JDBC小程序

          JDBC(Java Data Base Connectivity,java數據庫連接)是一種用于執行SQL語句的Java API,可以為多種關系數據庫提供統一訪問,它由一組用Java語言編寫的類和接口組成。

          JDBC訪問數據庫的步驟:

          1.加載數據庫驅動

          2.獲得數據庫連接

          3.創建SQL語句

          4.執行查詢

          5.遍歷結果集

          6.關閉數據庫連接

          下面看一個小程序:

           

          package com.jspring.jdbc; 

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

          public class Demo1 {
              
          public static void main(String args[])
              
          {
                  query();
              }

              
          public static void query()
              
          {
                  Connection conn
          =null;
                  
          //1.加載數據庫驅動
                  try {
                      Class.forName(
          "com.mysql.jdbc.Driver");
                      
          //DriverManager 驅動程序管理器 在數據庫和相應驅動程序之間建立連接
                      
          //2.獲得數據庫連接
                      conn=DriverManager.getConnection("jdbc:mysql://127.0.0.1/jdbc_db","root","1234");
                      
          //3.創建語句
                      String sql="select * from UserTbl";
                      
          //返回一個執行SQL的語句
                      Statement stmt = null;
                      stmt 
          = conn.createStatement();
                      
          //返回查詢的
                      
          //4.執行語句
                      ResultSet rs = null;
                      rs 
          = stmt.executeQuery(sql);
                      
          //5.遍歷結果集
                          while(rs.next())
                          
          {
                              
          int id=rs.getInt(1);
                              String username
          =rs.getString(2);
                              String password
          =rs.getString(3);
                              
          int age=rs.getInt(4);
                              System.out.println(id
          +":"+username+":"+password+":"+age);
                          }

                  }
           catch (Exception e) {
                      e.printStackTrace();
                  }
          finally{
                      
          if(conn!=null){
                          
          try{//5.關閉數據庫連接
                              conn.close();
                          }
          catch(SQLException e){
                              conn
          =null;
                              e.printStackTrace();
                          }

                      }

                  }

              }
           

          }
           

          1.此程序首先要在這個程序所在的工程中插入連接數據庫的jar包(然后右擊選擇build path-----add  to build path),然后才能執行程序否則會出現以下錯誤提示:

          1

          這個程序通過執行

          Class.forName("com.mysql.jdbc.Driver");
          這個語句實現加載驅動,因為我用的是MYSQL的數據庫,所以加載的mysql的驅動,如果你用的是其他數據庫,那就要加載其他數據庫的jar包。

          2.和數據庫建立連接通過

          conn=DriverManager.getConnection("jdbc:mysql://127.0.0.1/jdbc_db","root","1234");
          語句,getConnection函數中三個參數分別是url,user,password

          3.創建語句,在這個程序中只建立了一個查詢語句,我們可以根據自己的業務需求建立其他的語句,例如插入,更新等語句

          4.Statement是靜態的SQL語句,用來盛放SQL語句,他有一個子類為PreparedStatement為預編譯靜態語句

          5.ResultSet 是用來盛放查詢結果的一個集合

          程序運行結果:

          如果usertbl表中有數據就會打印在控制臺上如

          1

          如果usertbl表中沒有數據那么控制臺上就沒有任何數據

          如果數據庫中沒有這個表則會出現

          1

          在使用JDBC時一定要加載數據庫驅動!

          一般情況下,我們會采用下面這種方法和數據庫進行連接

          將數據庫的驅動連接和url,user,password都寫到配置文件中,通過從配置文件中讀數據來建立連接,看下面程序

           

          public class ConnectionUtil {
              
          public Connection openConnection(){
                  String driver 
          = "";
                  String url 
          = "";
                  String user 
          = "";
                  String password 
          = "";
                  Properties prop 
          = new Properties();
                  Connection conn 
          = null;
                  
          try {
                      
          //加載屬性文件
                      prop.load(this.getClass().getClassLoader().getResourceAsStream("DBConfig.properties"));
                      driver 
          = prop.getProperty("driver");
                      url 
          = prop.getProperty("url");
                      user 
          = prop.getProperty("user");
                      password 
          = prop.getProperty("password");
                      
          //Class.forName加載驅動
                      Class.forName(driver);
                      
          //DriverManager獲得連接
                      conn = DriverManager.getConnection(url,user,password);
                      
          return conn;
                  }
           catch (Exception e) {
                      e.printStackTrace();
                  }

                  
          return null;
              }

          }
           

           

           

          在和數據庫進行連接時,我們只需要調用這個類就可以了

          在第一個程序中我們提到了一個PreparedStatement類,現在我們看一下關于這個類的使用情況

           

          public class Main 

               
          public static void main(String[] args) {
                  Customer c 
          = new Customer();
                  c.setName(
          "hans");
                  c.setEmail(
          "583480612@qq.com");
                  TestPrepareStatement.add(c);
                   }

              
          public static void add(Customer c) {
                  Connection conn 
          = new ConnectionUtil().openConnection();
                  String sql 
          = "insert into CustomerTbl(name,email) values(?,?)";
                  
          try {
                      PreparedStatement pstmt 
          = conn.prepareStatement(sql);
                      pstmt.setString(
          1, c.getName());
                      pstmt.setString(
          2, c.getEmail());
                      pstmt.executeUpdate();
                  }
           catch (SQLException e) {
                      e.printStackTrace();
                  }

              }
           

          }
           

          PreparedStatement為預編譯靜態SQL語句,就是在sql語句中留下一個缺口,由調用這個函數的的成員來補全。

          posted on 2010-12-07 13:25 馮魁 閱讀(774) 評論(1)  編輯  收藏

          評論

          # re: JDBC小程序 2010-12-14 17:13 洛神賦

          好具體哦!!!!拜讀!!!!  回復  更多評論   


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


          網站導航:
           

          導航

          統計

          公告

          快樂每一天!

          Everything is an object!

          常用鏈接

          留言簿(2)

          隨筆檔案

          學習網站

          搜索

          最新評論

          閱讀排行榜

          評論排行榜

          主站蜘蛛池模板: 康定县| 桃源县| 凉山| 新疆| 济源市| 瓮安县| 牟定县| 南澳县| 丹寨县| 阿图什市| 南昌县| 凤阳县| 页游| 麻江县| 大田县| 宜丰县| 皋兰县| 新密市| 裕民县| 鱼台县| 喀喇| 芜湖县| 富蕴县| 奈曼旗| 龙门县| 阿克陶县| 司法| 彰武县| 浦东新区| 信阳市| 连州市| 临沧市| 邻水| 绵阳市| 延津县| 平和县| 健康| 那坡县| 南康市| 房山区| 关岭|