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)行該配置,程序開啟時(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)文章
SpringBoot+Email發(fā)送郵件的實(shí)現(xiàn)示例
Spring?Boot提供了簡(jiǎn)單而強(qiáng)大的郵件發(fā)送功能,本文主要介紹了SpringBoot+Email發(fā)送郵件的實(shí)現(xiàn)示例,具有一定的參考價(jià)值,感興趣的可以了解一下2024-03-03
詳解SpringBoot 使用Spring Initializr 快速構(gòu)建工程(官方推薦)
本篇文章主要介紹了SpringBoot 使用Spring Initializr 快速構(gòu)建工程(官方推薦),非常具有實(shí)用價(jià)值,需要的朋友可以參考下2017-10-10
SpringBoot實(shí)現(xiàn)動(dòng)態(tài)數(shù)據(jù)源切換的項(xiàng)目實(shí)踐
在實(shí)際開發(fā)過(guò)程中,我們經(jīng)常遇到需要同時(shí)操作多個(gè)數(shù)據(jù)源的情況,本文主要介紹了SpringBoot實(shí)現(xiàn)動(dòng)態(tài)數(shù)據(jù)源切換的項(xiàng)目實(shí)踐,具有一定的參考價(jià)值,感興趣的可以了解一下2024-04-04
Java語(yǔ)言實(shí)現(xiàn)簡(jiǎn)單FTP軟件 FTP連接管理模塊實(shí)現(xiàn)(8)
這篇文章主要為大家詳細(xì)介紹了Java語(yǔ)言實(shí)現(xiàn)簡(jiǎn)單FTP軟件,F(xiàn)TP連接管理模塊的實(shí)現(xiàn)方法,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2017-04-04
Java調(diào)用第三方http接口的常用方式總結(jié)
這篇文章主要介紹了Java調(diào)用第三方http接口的常用方式總結(jié),具有很好的參考價(jià)值,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2022-06-06
Spring Dao層@Repository與@Mapper的使用
這篇文章主要介紹了Spring Dao層@Repository與@Mapper的使用方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2022-02-02
java web實(shí)現(xiàn)用戶權(quán)限管理
這篇文章主要介紹了java web實(shí)現(xiàn)用戶權(quán)限管理,設(shè)計(jì)并實(shí)現(xiàn)一套簡(jiǎn)單的權(quán)限管理功能,感興趣的小伙伴們可以參考一下2015-11-11
用intellij Idea加載eclipse的maven項(xiàng)目全流程(圖文)
這篇文章主要介紹了用intellij Idea加載eclipse的maven項(xiàng)目全流程(圖文),小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2017-12-12

