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

以上是 SpringBoot集成内存数据库hsqldb的实践 的全部内容, 来源链接: utcz.com/p/248795.html

回到顶部