SpringBoot集成內(nèi)存數(shù)據(jù)庫hsqldb的實(shí)踐
目標(biāo)
在SpringBoot中集成內(nèi)存數(shù)據(jù)庫hsqldb.
為什么
像H2、hsqldb、derby、sqlite這樣的內(nèi)存數(shù)據(jù)庫,小巧可愛,做小型服務(wù)端演示程序,非常好用。最大特點(diǎn)就是不需要你另外安裝一個(gè)數(shù)據(jù)庫。
操作步驟
修改pom.xml文件
<dependency> <groupId>org.hsqldb</groupId> <artifactId>hsqldb</artifactId> </dependency>
修改項(xiàng)目配置文件application.yml
spring: datasource: username: hsp password: 123456 url: jdbc:hsqldb:mem://localhost/blogdb;shutdown=true driver-class-name: org.hsqldb.jdbcDriver schema: classpath:schema.sql data: classpath:data.sql initialization-mode: always continue-on-error: true
添加初始化數(shù)據(jù)文件
建表腳本:schema.sql
CREATE TABLE blog ( id INTEGER GENERATED BY DEFAULT AS IDENTITY(START WITH 1) NOT NULL PRIMARY KEY, title varchar(255) DEFAULT NULL, );
導(dǎo)入數(shù)據(jù)腳本:data.sql
insert into blog(id,title) values(1,'花生皮編程博客');
啟動(dòng)類:HspApplication
@MapperScan({"cn.hsp.blog"}) @SpringBootApplication public class HspApplication { public static void main(String[] args) { SpringApplication.run(HspApplication.class, args); } }
Controller類:BlogController
@RestController @RequestMapping("/blog") public class BlogController { @Autowired private BlogMapper blogMapper; @GetMapping(value="/query") public List<Blog> query() { return blogMapper.query(); } }
Mapper類:BlogMapper
@Repository public interface BlogMapper { @Select(value = "select * from blog") List<Blog> query(); }
數(shù)據(jù)bean:Blog
@Data public class Blog { private int id; private String title; }
工程截圖
運(yùn)行
運(yùn)行HspApplication即可
效果
總結(jié)
1.當(dāng)前的hsqldb在配置的時(shí)候一定要在url中添加shutdown=true;否者會(huì)出現(xiàn)錯(cuò)誤:
org.hsqldb.HsqlException: user lacks privilege or object not found: USER(表不存在的錯(cuò)誤)
2.當(dāng)前的hsqldb中的實(shí)體類只需要@Entity注解,@Id和@GeneratedValue
3.dao層需要繼承jpa的或者reposity即可
完整源代碼
https://gitee.com/hspbc/springboot_memdb
到此這篇關(guān)于SpringBoot集成內(nèi)存數(shù)據(jù)庫hsqldb的實(shí)踐的文章就介紹到這了,更多相關(guān)SpringBoot集成hsqldb內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Spring Cloud Gateway Hystrix fallback獲取異常信息的處理
這篇文章主要介紹了Spring Cloud Gateway Hystrix fallback獲取異常信息的處理方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2021-07-07Java多線程之Semaphore實(shí)現(xiàn)信號(hào)燈
這篇文章主要給大家分享的是Java多線程之Semaphore實(shí)現(xiàn)信號(hào)燈的練習(xí),emaphore是計(jì)數(shù)信號(hào)量。Semaphore管理一系列許可證。每個(gè)acquire方法阻塞,直到有一個(gè)許可證可以獲得然后拿走一個(gè)許可證;下面一起進(jìn)入文章學(xué)習(xí)Semaphore的具體內(nèi)容2021-10-10實(shí)例解析Json反序列化之ObjectMapper(自定義實(shí)現(xiàn)反序列化方法)
這篇文章主要介紹了實(shí)例解析Json反序列化之ObjectMapper,json自定義序列化的方法,需要的朋友可以了解下。2017-09-09詳解Java前綴樹Trie的原理及代碼實(shí)現(xiàn)
Trie又被稱為前綴樹、字典樹。Trie利用字符串的公共前綴來高效地存儲(chǔ)和檢索字符串?dāng)?shù)據(jù)集中的關(guān)鍵詞,最大限度地減少無謂的字符串比較,其核心思想是用空間換時(shí)間。本文主要介紹了Trie的原理及實(shí)現(xiàn),感興趣的可以了解一下2022-11-11java 學(xué)習(xí)筆記(入門篇)_多選擇結(jié)構(gòu)switch語句
在java中為多路分支選擇流程專門提供了switch語句,switch語句根據(jù)一個(gè)表達(dá)式的值,選擇運(yùn)行多個(gè)操作中的一個(gè),感興趣的朋友可以了解下2013-01-01Java實(shí)現(xiàn)圖片上傳至服務(wù)器功能(FTP協(xié)議)
這篇文章主要為大家詳細(xì)介紹了Java實(shí)現(xiàn)圖片上傳至服務(wù)器功能,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2018-06-06IDEA 2020.2 部署JSF項(xiàng)目的詳細(xì)過程
本文通過圖文并茂的形式教大家如何在IDEA中創(chuàng)建一個(gè)JSF項(xiàng)目及遇到問題的解決方法,感興趣的朋友跟隨小編一起看看吧2021-09-09