數據加載中……
          derby 例子(轉載)
          2008年4月10日  edited by dingdangxiaoma
          轉載別人的寫的例子:
          http://blog.csdn.net/Chinajash/archive/2007/01/08/1477568.aspx

          Derby并不是一個新的數據庫產品,它是由IBM捐獻給Apache的DB項目的一個純Java數據庫,JDK6.0里面帶的這個Derby的版 本是10.2.1.7,支持存儲過程和觸發器;有兩種運行模式,一種是作為嵌入式數據庫,另一種是作為網絡數據庫,前者的數據庫服務器和客戶端都在同一個 JVM里面運行,后者允許數據庫服務器端和客戶端不在同一個JVM里面,而且允許這兩者在不同的物理機器上.值得注意的是JDK6里面的這個Derby支 持JDK6的新特性JDBC 4.0規范(JSR 221),現在我們如果要練習JDBC的用法,沒有必要單獨裝一個數據庫產品了,直接用Derby就行.安裝完JDK6.0后,Derby會被安裝到<JDK6_HOME>/db下面,在<JDK6_HOME>/db/demo/programs下面還有一些示例程序,演示了如何啟動,連接Derby數據庫以及JDBC API的使用.下面分兩種情況演示一下如何用代碼操作Derby數據庫,一種是嵌入式數據庫,一種是網絡數據庫.

          一.嵌入式數據庫

          package db;

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

          public class EmbeddedDerbyTester {
              public static void main(String[] args) {
                  String driver = "org.apache.derby.jdbc.EmbeddedDriver";// 在derby.jar里面
                  String dbName = "EmbeddedDB";
                  String dbURL = "jdbc:derby:" + dbName + ";create=true";// create=true表示當數據庫不存在時就創建它
                  try {
                      Class.forName(driver);
                      Connection conn = DriverManager.getConnection(dbURL);// 啟動嵌入式數據庫
                      Statement st = conn.createStatement();
                  //    st.execute("create table foo (FOOID INT NOT NULL,FOONAME VARCHAR(30) NOT NULL)");// 創建foo表
                      st.executeUpdate("insert into foo(FOOID,FOONAME) values (2,'chinajash2')");// 插入一條數據
                      ResultSet rs = st.executeQuery("select * from foo");// 讀取剛插入的數據
                      while (rs.next()) {
                          int id = rs.getInt(1);
                          String name = rs.getString(2);
                          System.out.println("id=" + id + ";name=" + name);
                      }
                  } catch (Exception e) {
                      e.printStackTrace();
                  }
              }
          }
          二.網絡數據庫
          package db;

          import java.io.PrintWriter;
          import java.sql.Connection;
          import java.sql.DriverManager;
          import java.sql.ResultSet;
          import java.sql.Statement;

          import org.apache.derby.drda.NetworkServerControl;

          public class NetworkServerDerbyTester {
              public static void main(String[] args) {
                  String driver = "org.apache.derby.jdbc.ClientDriver";// 在derbyclient.jar里面
                  String dbName = "NetworkDB";
                  String connectionURL = "jdbc:derby://localhost:1527/" + dbName
                          + ";create=true";
                  try {
                      /*
                       * 創建Derby網絡服務器,默認端口是1527,也可以通過運行
                       * <Derby_Home>"frameworks"NetworkServer"bin"startNetworkServer.bat
                       * 來創建并啟動Derby網絡服務器,如果是Unix,用startNetworkServer.ksh
                       */
                      NetworkServerControl derbyServer = new NetworkServerControl();// NetworkServerControl類在derbynet.jar里面
                      PrintWriter pw = new PrintWriter(System.out);// 用系統輸出作為Derby數據庫的輸出
                      derbyServer.start(pw);// 啟動Derby服務器
                      Class.forName(driver);
                      Connection conn = DriverManager.getConnection(connectionURL);
                      // do something
                      Statement st = conn.createStatement();
                      //st.execute("create table foo (FOOID INT NOT NULL,FOONAME VARCHAR(30) NOT NULL)");// 創建foo表
                      st.executeUpdate("insert into foo(FOOID,FOONAME) values (2,'chinajash2')");// 插入一條數據
                      ResultSet rs = st.executeQuery("select * from foo");// 讀取剛插入的數據
                      while (rs.next()) {
                          int id = rs.getInt(1);
                          String name = rs.getString(2);
                          System.out.println("id=" + id + ";name=" + name);
                      }
                      derbyServer.shutdown();// 關閉Derby服務器
                  } catch (Exception ex) {
                      ex.printStackTrace();
                  }
              }
          }
          例子都是一樣子的,稍有改動。

          posted on 2008-04-10 15:48 叮當小馬 閱讀(571) 評論(1)  編輯  收藏 所屬分類: DataBase

          評論

          # re: derby 例子(轉載) 2008-04-10 15:54 叮當小馬

          運行上面的兩個例子,都會在根目錄下產生兩個文件夾,那兩個文件夾就是所生成的數據庫,我用的工具是myeclipse 會在workspace 工程目錄下產生這兩個數據庫文件夾。
            回復  更多評論    

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


          網站導航:
           
          主站蜘蛛池模板: 措美县| 沂源县| 且末县| 出国| 攀枝花市| 鹤峰县| 兰坪| 台安县| 云梦县| 海口市| 繁峙县| 永春县| 林周县| 玛曲县| 两当县| 洛浦县| 库车县| 延安市| 博野县| 吉林市| 治多县| 福贡县| 广水市| 黎川县| 宁夏| 台南县| 文山县| 娄底市| 平顺县| 丹寨县| 汾阳市| 东莞市| 务川| 抚松县| 海口市| 镇雄县| 辉南县| 于都县| 清新县| 万州区| 吉隆县|