posts - 5, comments - 0, trackbacks - 0, articles - 0
            BlogJava :: 首頁 :: 新隨筆 :: 聯(lián)系 :: 聚合  :: 管理

          我的評論

          re: 小巧好用的H2數(shù)據(jù)庫 火炎炎 2012-02-01 17:24  
          H2 數(shù)據(jù)庫 2010-10-04 10:31:31| 分類: 數(shù)據(jù)庫 | 標簽:h2 |字號大中小 訂閱 .

          1.數(shù)據(jù)庫連接的jdbc url
          h2分嵌入模式和服務模式,根據(jù)不同的模式和情況。連接數(shù)據(jù)庫jdbc url的寫法不同
          連接內(nèi)嵌模式的數(shù)據(jù)庫
          "jdbc:h2:file:D:/test" 連接自定目錄下的指定數(shù)據(jù)庫
          "jdbc:h2:~/test" 連接默認目錄下的指定數(shù)據(jù)庫


          連接內(nèi)存模式的數(shù)據(jù)庫
          jdbc:h2:mem:test


          連接server模式的數(shù)據(jù)庫
          jdbc:h2:tcp://localhost/~/test


          ssl連接數(shù)據(jù)庫
          jdbc:h2:ssl://localhost/~/test


          連接壓縮文件內(nèi)的數(shù)據(jù)庫
          jdbc:h2:zip:D:/test.zip!/test


          2.h2自帶的連接池
          JdbcConnectionPool cp = JdbcConnectionPool.create(url,username,password);
          通過連接池獲取連接
          Connection conn = cp.getConnection();


          note:
          默認連接池是初始10個連接


          3.嵌入模式數(shù)據(jù)庫管理
          通過代碼啟動數(shù)據(jù)庫服務
          Server server = Server.createTcpServer();
          server.start();
          關(guān)閉數(shù)據(jù)庫服務
          server.stop();
          .數(shù)據(jù)庫注銷
          server.shutdown();


          4.通過h2自帶的方法跟cvs文件讀寫數(shù)據(jù)
          1.通過代碼讀取csv的數(shù)據(jù)
          ResultSet rs = Csv.getInstance().read(fileName, null, null);
          ResultSetMetaData meta = rs.getMetaData();


          while (rs.next()) {
          for (int i = 0; i < meta.getColumnCount(); i++) {
          System.out.println(meta.getColumnLabel(i + 1) + ":"
          + rs.getString(i + 1));
          }


          System.out.println();
          }


          rs.close();


          通過代碼寫csv數(shù)據(jù)
          SimpleResultSet rs = new SimpleResultSet();
          rs.addColumn("name", Types.VARCHAR, 255, 0);
          rs.addColumn("email", Types.VARCHAR, 255, 0);
          rs.addRow("陳盈", "yingchen@midea.com.cn");
          rs.addRow("鄒嘉欣", "zoujx@midea.com.cn");
          Csv.getInstance().write(fileName, rs, null);




          2.使用h2自帶cvs函數(shù)通過sql語句實現(xiàn)
          csvread()實現(xiàn)讀csv文件
          例:SELECT * FROM CSVREAD('d:/test.csv');


          CSVWRITE()實現(xiàn)寫csv文件
          例:CALL CSVWRITE('d:/test.csv', 'SELECT * FROM TEST');


          3.根據(jù)cvs文件創(chuàng)建h2數(shù)據(jù)庫表
          CREATE TABLE TEST AS SELECT * FROM CSVREAD('test.csv');//csv文件數(shù)據(jù)創(chuàng)建test表 CREATE TABLE TEST(ID INT PRIMARY KEY, NAME VARCHAR(255)) AS SELECT * FROM CSVREAD('test.csv');/創(chuàng)建test表,csv文件相應的列插入到test表相應的字段

          5.H2數(shù)據(jù)庫備份
          1.備份sql腳本
          運行
          java -cp h2*.jar org.h2.tools.Script -url jdbc:h2:~/test -user sa -script test.zip -options compression zip


          2.備份數(shù)據(jù)庫文件
          方法1:進入h2 shell 命令行模式
          java -cp h2*.jar org.h2.tools.Shell


          方法2:在shell命令行環(huán)境下執(zhí)行備份命令
          BACKUP TO 'backup.zip'
          主站蜘蛛池模板: 隆德县| 大厂| 理塘县| 保定市| 屏东市| 独山县| 穆棱市| 酉阳| 岳阳市| 琼海市| 阿坝| 太白县| 临夏县| 临夏市| 什邡市| 天柱县| 那坡县| 镇江市| 明溪县| 海林市| 乐亭县| 牟定县| 漯河市| 阳城县| 晋宁县| 临朐县| 台中市| 云梦县| 大兴区| 兰考县| 康保县| 渝中区| 乌审旗| 衡南县| 保德县| 慈溪市| 遂川县| 滕州市| 福鼎市| 桓台县| 阜宁县|