当前位置:首页 > 通信资讯 > 正文

springboot 内存数据库(springboot 内置数据库)

目标

在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; }

工程截图

springboot 内存数据库(springboot 内置数据库)

运行

运行HspApplication即可

效果

springboot 内存数据库(springboot 内置数据库)

总结

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内容请搜索服务器之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持服务器之家!

原文链接:https://juejin.cn/post/7004792584237219870

如果您对该产品感兴趣,请填写办理(客服微信:xiaoxiongyidong)

为您推荐:

发表评论

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。