JAVA内嵌数据库H2的连接和使用

H2作为一个嵌入型的数据库,它最大的好处就是可以嵌入到我们的Web应用中,和我们的Web应用绑定在一起,成为我们Web应用的一部分,本次培训的目的是前后端分离,在后端中采用H2存储数据,H2数据库有三种连接方式:嵌入式、内存模式及远程模式。

一、数据库连接

1.嵌入式连接H2

1)首先在本地下载H2客户端,然后打开h2.bat文件

 

 

 2)在IDEA中打开View-Tool Window-DataBase,选择h2

3)  在build.gradle中添加依赖后刷新依赖

  4) 在代码中访问数据库  JDBC_URL = "jdbc:h2:~/test";

  2. 内存模式访问

代码中添加一下,mem代表内存的意思

 3. 远程模式连接

        jdbc:h2:tcp://<server>[:<port>]/[<path>]<databaseName>
   jdbc:h2:tcp://localhost/~/test 使用用户主目录
        jdbc:h2:tcp://localhost//data/test 使用绝对路径

二、数据库访问

 //如果存在USER_INFO表就先删除USER_INFO表
 stmt.execute("DROP TABLE IF EXISTS USER_INFO");
 //创建USER_INFO表
 stmt.execute("CREATE TABLE USER_INFO(id VARCHAR(36) PRIMARY KEY,name VARCHAR(100),sex VARCHAR(4))");
 //新增
 stmt.executeUpdate("INSERT INTO USER_INFO VALUES('" + UUID.randomUUID()+ "','大日如来','男')");
 stmt.executeUpdate("INSERT INTO USER_INFO VALUES('" + UUID.randomUUID()+ "','青龙','男')");
 stmt.executeUpdate("INSERT INTO USER_INFO VALUES('" + UUID.randomUUID()+ "','白虎','男')");
 stmt.executeUpdate("INSERT INTO USER_INFO VALUES('" + UUID.randomUUID()+ "','朱雀','女')");
 stmt.executeUpdate("INSERT INTO USER_INFO VALUES('" + UUID.randomUUID()+ "','玄武','男')");
 stmt.executeUpdate("INSERT INTO USER_INFO VALUES('" + UUID.randomUUID()+ "','苍狼','男')");
//删除 stmt.executeUpdate("DELETE FROM USER_INFO WHERE name='大日如来'"); //修改 stmt.executeUpdate("UPDATE USER_INFO SET name='孤傲苍狼' WHERE name='苍狼'"); //查询 ResultSet rs = stmt.executeQuery("SELECT * FROM USER_INFO"); //遍历结果集 while (rs.next()) { System.out.println(rs.getString("id") + "," + rs.getString("name")+ "," + rs.getString("sex")); } //释放资源 stmt.close();

原文地址:https://www.cnblogs.com/qqvvn/p/9503385.html