SpringBoot集成H2database


轉載:https://blog.csdn.net/chenhao_c_h/article/details/80332260

h2database為我們提供了十分輕量,十分快捷方便的內嵌式數據庫

H2是一個用Java開發的嵌入式數據庫,它本身只是一個類庫,可以直接嵌入到應用項目中。
可以同應用程序打包在一起發布
它的另一個用途是用於單元測試。啟動速度快,而且可以關閉持久化功能,每一個用例執行完隨即還原到初始狀態
提供JDBC訪問接口,提供基於瀏覽器的控制台,可以執行sql
免費,開源,夠快
還方便了程序剛開始dao層單元測試測試,不需要搭建oracle,不需要加載mysql,快速測試寫的dao

h2database 官網地址:http://www.h2database.com/html/main.html

點擊下載,解壓即可。

解壓縮后的目錄結構:

  h2

  |---bin

  |    |---h2-1.1.116.jar   //H2數據庫的jar包(驅動也在里面)

  |    |---h2.bat              //Windows控制台啟動腳本

  |    |---h2.sh                  //Linux控制台啟動腳本

  |    |---h2w.bat              //Windows控制台啟動腳本(不帶黑屏窗口)

  |---docs                       //H2數據庫的幫助文檔(內有H2數據庫的使用手冊)

  |---service //通過wrapper包裝成服務。

  |---src //H2數據庫的源代碼

  |---build.bat //windows構建腳本

  |---build.sh //linux構建腳本

 

  此時就算“安裝”完成了。

切換到h2解壓目錄。

➜ ~ cd Downloads/h2
➜ h2 nohup ./bin/h2_server.sh
appending output to nohup.out
彈出h2管理頁面,啟動成功。

 

 

瀏覽器訪問:http://localhost:8082/

 

二、后台代碼
創建SpringBoot工程,https://start.spring.io/

添加maven依賴:

    <!--h2-->
    <dependency>
<groupId>com.h2database</groupId>
<artifactId>h2</artifactId>
<version>1.4.195</version>
    </dependency>
配置application.yml

spring:
datasource:
driver-class-name: org.h2.Driver
url: jdbc:h2:~/test
username: sa
password:
此處的url跟classname均可在頁面管理中找到。

 

此為嵌入式鏈接模式,只允許一個鏈接,如果想多個鏈接,比如測試代碼鏈接和頁面的h2控制台鏈接,請使用混合模式鏈接

將 JDBC URL 后加上 AUTO_SERVER=TRUE

 

同理 在yml文件中修改鏈接數據URL 后加上 AUTO_SERVER=TRUE

spring:
datasource:
driver-class-name: org.h2.Driver
url: jdbc:h2:~/test;AUTO_SERVER=TRUE
username: sa
password:
 

添加 jpa 依賴

 

<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-jpa</artifactId>
</dependency>
修改yml,新增show-sql、ddl-auto設為update

jpa:
show-sql: true
hibernate:
ddl-auto: update
添加簡單實體類

@Entity
@Data
public class User {
@Id //主鍵
private Integer id;
private Integer age;
private String name;
private String address;
private String city;
}
添加UserRepository

public interface UserRepository extends JpaRepository<User,Integer> {

}
 

 

 

 

三、開始測試
添加測試類UserRepositoryTest

 

數據新增測試
@SpringBootTest
@RunWith(SpringRunner.class)
public class UserRepositoryTest {

@Autowired
private UserRepository userRepository;
@Test
public void addUser() {
User user = new User();
user.setId(1);
user.setName("張三");
user.setAddress("北京");
user.setAge(19);
user.setCity("北京");
userRepository.save(user);
}
}
console->

 

 

查看h2控制台

 

 

 

數據添加成功,測試修改
@Test
public void editUser(){
User user = new User();
user.setId(1);
user.setName("李四");
user.setAddress("上海");
user.setAge(20);
user.setCity("上海");
userRepository.save(user);
}
查看h2控制台->

 

 

 

數據修改成功,測試查詢
@Test
public void queryUser(){
User user = userRepository.findOne(1);
System.out.println(user);
Assert.assertEquals("李四",user.getName());
Assert.assertEquals("上海",user.getAddress());

}
console->

 

 

 

數據查詢成功,測試刪除
@Test
public void delUser(){
userRepository.delete(1);
}
查看h2控制台

 

 

數據刪除測試成功。

代碼github:git@github.com:ChenHaoXFN/h2Demo.git

參考文獻: https://blog.csdn.net/fanpeizhong/article/details/73543260

 

jpa增刪改查:https://www.cnblogs.com/stm32stm32/p/10052810.html

入門超級詳細版:https://www.cnblogs.com/xdp-gacl/p/4171024.html


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM