SpringBoot集成内存数据库hsqldb的实践

网友投稿 284 2022-12-09

SpringBoot集成内存数据库hsqldb的实践

目录目标为什么操作步骤工程截图运行效果总结

目标

在SpringBoot中集成内存数据库hsqldb.

为什么

像H2、hsqldb、derby、sqlite这样的内存数据库,小巧可爱,做小型服务端演示程序,非常好用。最大特点就是不需要你另外安装一个数据库。

操作步骤

修改pom.xml文件

org.hsqldb

hsqldb

修改项目配置文件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-errorjPVNU: 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 qujPVNUery()

{

return blogMapper.query();

}

}

Mapper类:BlogMapper

@Repository

public interface BlogMapper {

@Select(value = "select * from blog")

List 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

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:Springboot敏感字段脱敏的实现思路
下一篇:SpringBoot启动自动终止也不报错的原因及解决
相关文章

 发表评论

暂时没有评论,来抢沙发吧~