zoukankan      html  css  js  c++  java
  • 关于h2的启动问题

    首次接触h2先不管它是干嘛的,直接上操作步骤;

    解压h2.zip,进入/h2/bin,运行:

    nohup ./h2.sh -web -browser -tcp -webAllowOthers &

     h2.sh脚本写的是:

    #!/bin/sh
    dir=$(dirname "$0")
    java -cp "$dir/h2-1.4.198.jar:$H2DRIVERS:$CLASSPATH" org.h2.tools.Console "$@"

    检验是否启动成功:

    IP:8082访问数据库,填写如下(默认账号username:sa,password:空):

     表示启动成功。

    ————————————————————————————这是一条正经的分割线——————————————————————————————

    
    

    一、H2数据库简介

    1、H2数据库是一个开源的关系型数据库。H2是一个嵌入式数据库引擎,采用java语言编写,不受
    平台的限制,同时支持网络版和嵌入式版本,有比较好的兼容性,支持相当标准的sql标准,支持集群
    
    2、提供JDBC、ODBC访问接口,提供了非常友好的基于web的数据库管理界面

    二、在Java中操作H2数据库

    1、以嵌入式(本地)连接方式连接H2数据库
      这种连接方式默认情况下只允许有一个客户端连接到H2数据库,有客户端连接到H2数据库之后,
        此时数据库文件就会被锁定,那么其他客户端就无法再连接了。
    
      连接语法:jdbc:h2:[file:][<path>]<databaseName>
    
      例如:
        jdbc:h2:~/test //连接位于用户目录下的test数据库
        jdbc:h2:file:/data/sample
        jdbc:h2:file:E:/H2/gacl(Windows only)
    
    2、使用TCP/IP的服务器模式(远程连接)方式连接H2数据库(推荐)
      这种连接方式就和其他数据库类似了,是基于Service的形式进行连接的,因此允许多个客户端同
        时连接到H2数据库
    
      连接语法:jdbc:h2:tcp://<server>[:<port>]/[<path>]<databaseName>
      范例:jdbc:h2:tcp://localhost/~/test
    
    3、H2数据库的内存模式
      
       (1)、H2数据库被称为内存数据库,因为它支持在内存中创建数据库和表
    
       (2)、注意:如果使用H2数据库的内存模式,那么我们创建的数据库和表都只是保存在内存中,
                  一旦服务器重启,那么内存中的数据库和表就不存在了。
    
     1 public class H2ConnTest01 {
     2 
     3     /**
     4      * 以嵌入式(本地)连接方式连接H2数据库
     5      */
     6     //private static final String JDBC_URL = "jdbc:h2:C:/H2/abc";
     7 
     8     /**
     9      * 使用TCP/IP的服务器模式(远程连接)方式连接H2数据库(推荐)
    10      */
    11     private static final String JDBC_URL = "jdbc:h2:tcp://10.35.14.122/C:/H2/user";
    12 
    13     private static final String USER = "user";
    14     private static final String PASSWORD = "1234";
    15     private static final String DRIVER_CLASS = "org.h2.Driver";
    16 
    17     public static void main(String[] args) throws Exception {
    18         Class.forName(DRIVER_CLASS);
    19         Connection conn = DriverManager.getConnection(JDBC_URL, USER, PASSWORD);
    20         Statement statement = conn.createStatement();
    21         statement.execute("DROP TABLE IF EXISTS USER_INF");
    22         statement.execute("CREATE TABLE USER_INF(id INTEGER PRIMARY KEY ,name VARCHAR(100), sex VARCHAR(2))");
    23 
    24         statement.executeUpdate("INSERT INTO USER_INF VALUES(1, 'tom', '男') ");
    25         statement.executeUpdate("INSERT INTO USER_INF VALUES(2, 'jack', '女') ");
    26         statement.executeUpdate("INSERT INTO USER_INF VALUES(3, 'marry', '男') ");
    27         statement.executeUpdate("INSERT INTO USER_INF VALUES(4, 'lucy', '男') ");
    28 
    29         ResultSet resultSet = statement.executeQuery("select * from USER_INF");
    30 
    31         while (resultSet.next()) {
    32             System.out.println(resultSet.getInt("id") + ", " + resultSet.getString("name") +
    33                     ", " + resultSet.getString("sex"));
    34         }
    35 
    36         statement.close();
    37         conn.close();
    38     }
    39 }

    参考:https://www.jianshu.com/p/1e0fb830cbe4

     
     
  • 相关阅读:
    Max History CodeForces
    Buy a Ticket CodeForces
    AC日记——字符串的展开 openjudge 1.7 35
    AC日记——回文子串 openjudge 1.7 34
    AC日记——判断字符串是否为回文 openjudge 1.7 33
    AC日记——行程长度编码 openjudge 1.7 32
    AC日记——字符串P型编码 openjudge 1.7 31
    AC日记——字符环 openjudge 1.7 30
    AC日记——ISBN号码 openjudge 1.7 29
    AC日记——单词倒排 1.7 28
  • 原文地址:https://www.cnblogs.com/onroad2019/p/11641564.html
Copyright © 2011-2022 走看看