SpringBoot集成內存數據庫hsqldb的實踐
目標
在SpringBoot中集成內存數據庫hsqldb.
為什麼
像H2、hsqldb、derby、sqlite這樣的內存數據庫,小巧可愛,做小型服務端演示程序,非常好用。最大特點就是不需要你另外安裝一個數據庫。
操作步驟
修改pom.xml文件
<dependency> <groupId>org.hsqldb</groupId> <artifactId>hsqldb</artifactId> </dependency>
修改項目配置文件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
添加初始化數據文件
建表腳本:schema.sql
CREATE TABLE blog ( id INTEGER GENERATED BY DEFAULT AS IDENTITY(START WITH 1) NOT NULL PRIMARY KEY, title varchar(255) DEFAULT NULL, );
導入數據腳本:data.sql
insert into blog(id,title) values(1,'花生皮編程博客');
啟動類: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(); }
數據bean:Blog
@Data public class Blog { private int id; private String title; }
工程截圖
運行
運行HspApplication即可
效果
總結
1.當前的hsqldb在配置的時候一定要在url中添加shutdown=true;否者會出現錯誤:
org.hsqldb.HsqlException: user lacks privilege or object not found: USER(表不存在的錯誤)
2.當前的hsqldb中的實體類隻需要@Entity註解,@Id和@GeneratedValue
3.dao層需要繼承jpa的或者reposity即可
完整源代碼
https://gitee.com/hspbc/springboot_memdb
到此這篇關於SpringBoot集成內存數據庫hsqldb的實踐的文章就介紹到這瞭,更多相關SpringBoot集成hsqldb內容請搜索WalkonNet以前的文章或繼續瀏覽下面的相關文章希望大傢以後多多支持WalkonNet!
推薦閱讀:
- SpringBoot集成內存數據庫Sqlite的實踐
- Mybatis動態SQL之IF語句詳解
- Redis筆記點贊排行榜的實現示例
- Mybatis 動態SQL搭建環境的全過程
- 基於mybatis 動態SQL查詢總結