SpringBoot配置使用H2數(shù)據(jù)庫(kù)的簡(jiǎn)單教程
如何操作
依賴
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-jpa</artifactId>
</dependency>
<dependency>
<groupId>com.h2database</groupId>
<artifactId>h2</artifactId>
<scope>runtime</scope>
</dependency>
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<optional>true</optional>
</dependency>
yml配置
server:
# 服務(wù)端口
port: 8090
#h2配置
#啟用SQL語(yǔ)句的日志記錄
spring:
jpa:
show-sql: true
#設(shè)置ddl模式
hibernate:
ddl-auto: update
# database-platform: org.hibernate.dialect.H2Dialect
##數(shù)據(jù)庫(kù)連接設(shè)置
datasource:
driverClassName: org.h2.Driver
#可執(zhí)行程序的當(dāng)前路徑
url: jdbc:h2:mem:test
#指定的靜態(tài)配置路徑
username: h2
password: h2
##數(shù)據(jù)初始化設(shè)置
#進(jìn)行該配置后,每次啟動(dòng)程序,程序都會(huì)運(yùn)行resources/db/schema.sql文件,對(duì)數(shù)據(jù)庫(kù)的結(jié)構(gòu)進(jìn)行操作。
schema: classpath:db/schema.sql
#進(jìn)行該配置后,每次啟動(dòng)程序,程序都會(huì)運(yùn)行resources/db/data.sql文件,對(duì)數(shù)據(jù)庫(kù)的數(shù)據(jù)操作。
data: classpath:db/data.sql
##h2 web console設(shè)置
#表明使用的數(shù)據(jù)庫(kù)平臺(tái)是h2
platform: h2
# 進(jìn)行該配置后,h2 web consloe就可以在遠(yuǎn)程訪問(wèn)了。否則只能在本機(jī)訪問(wèn)。
h2:
console:
settings:
web-allow-others: true
#進(jìn)行該配置,你就可以通過(guò)YOUR_URL/h2訪問(wèn)h2 web consloe。YOUR_URL是你程序的訪問(wèn)URl。
path: /h2
#進(jìn)行該配置,程序開(kāi)啟時(shí)就會(huì)啟動(dòng)h2 web consloe。當(dāng)然這是默認(rèn)的,如果你不想在啟動(dòng)程序時(shí)啟動(dòng)h2 web consloe,那么就設(shè)置為false。
enabled: true
生成內(nèi)存數(shù)據(jù)庫(kù)H2
啟動(dòng)H2數(shù)據(jù)庫(kù)有兩種方式
第一種:
自動(dòng)執(zhí)行.sql文件,每次重新啟動(dòng)項(xiàng)目是,都會(huì)去運(yùn)行一次操作文件
DROP TABLE IF EXISTS `student`;
CREATE TABLE `student`
(
`id` varchar(225),
`name` varchar(225) ,
`age` int(11)
);
-- ----------------------------
-- Records of student
-- ----------------------------
INSERT INTO `student` VALUES ('0', '張三', 20);
INSERT INTO `student` VALUES ('1', '少杰', 20);
INSERT INTO `student` VALUES ('10', '趙子龍', NULL);
第二種
自動(dòng)去創(chuàng)建數(shù)據(jù)庫(kù),借用Spring Data Jpa的注解,啟動(dòng)時(shí)自動(dòng)創(chuàng)建內(nèi)存數(shù)據(jù)庫(kù)
@Entity
@Data
@Accessors(chain = true)
@Table(name = "student")
@AllArgsConstructor
@NoArgsConstructor
public class Student implements Serializable {
/**
* 學(xué)生id
*/
@Id
@Column(name = "id")
private String id;
/**
* 學(xué)生名稱
*/
@Column(name = "name")
private String name;
/**
* 學(xué)生年紀(jì)
*/
@Column(name = "age")
private Integer age;
}

使用配置的賬號(hào)密碼進(jìn)行登錄,別的不說(shuō),先跑起來(lái)最要緊
(注意:這時(shí)對(duì)數(shù)據(jù)庫(kù)中的數(shù)據(jù)進(jìn)行任何的改變都將是無(wú)效的,需要對(duì)數(shù)據(jù)做持久化才能保存數(shù)據(jù))
持久化
修改yaml配置
# windows本地?cái)?shù)據(jù)庫(kù)地址 spring.data.url: jdbc:h2:file:D:/tools/development/h2/db/student
重新啟動(dòng),發(fā)現(xiàn)多了兩個(gè)文件,分別是student.mv.db和student.trace.db
操作數(shù)據(jù)庫(kù)什么的,都和MySQL沒(méi)什么太大的區(qū)別,當(dāng)前用的是Spring Data Jpa那就更簡(jiǎn)單了,非常nice
以上就是SpringBoot配置使用H2數(shù)據(jù)庫(kù)的簡(jiǎn)單教程的詳細(xì)內(nèi)容,更多關(guān)于SpringBoot配置使用H2數(shù)據(jù)庫(kù)的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!
相關(guān)文章
使用@Validated注解進(jìn)行校驗(yàn)卻沒(méi)有效果的解決
這篇文章主要介紹了使用@Validated注解進(jìn)行校驗(yàn)卻沒(méi)有效果的解決方案,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2024-04-04
Java實(shí)用小技能之快速創(chuàng)建List常用幾種方式
java集合可以說(shuō)無(wú)論是面試、刷題還是工作中都是非常常用的,下面這篇文章主要給大家介紹了關(guān)于Java實(shí)用小技能之快速創(chuàng)建List常用的幾種方式,文中通過(guò)實(shí)例代碼介紹的非常詳細(xì),需要的朋友可以參考下2022-12-12
解決spring項(xiàng)目找不到Aspect依賴注解的問(wèn)題
這篇文章主要介紹了解決spring項(xiàng)目找不到Aspect依賴注解的問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2021-06-06
Java?synchronized關(guān)鍵字性能考量及優(yōu)化探索
這篇文章主要為大家介紹了Java?synchronized關(guān)鍵字性能考量及優(yōu)化探索示例分析,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-12-12
基于rocketmq的有序消費(fèi)模式和并發(fā)消費(fèi)模式的區(qū)別說(shuō)明
這篇文章主要介紹了基于rocketmq的有序消費(fèi)模式和并發(fā)消費(fèi)模式的區(qū)別說(shuō)明,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2021-06-06
java long轉(zhuǎn)String +Codeforces110A案例
這篇文章主要介紹了java long轉(zhuǎn)String +Codeforces110A案例,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2020-09-09
Spring?Cloud?Gateway編碼實(shí)現(xiàn)任意地址跳轉(zhuǎn)
這篇文章主要介紹了Spring?Cloud?Gateway編碼實(shí)現(xiàn)任意地址跳轉(zhuǎn)的相關(guān)資料,需要的朋友可以參考下2023-06-06
SpringCloud 服務(wù)注冊(cè)IP錯(cuò)誤的解決
這篇文章主要介紹了SpringCloud 服務(wù)注冊(cè)IP錯(cuò)誤的解決方案,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2021-07-07

