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();