您的位置:首页 > 教程文章 > 编程开发

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

:0 :2021-12-30 21:49:58

目录
目标
为什么
操作步骤
工程截图
运行
效果
总结
目标
在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:
    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即可
完整源代码
到此这篇关于SpringBoot集成内存数据库hsqldb的实践的文章就介绍到这了,更多相关SpringBoot集成hsqldb内容请搜索无名以前的文章或继续浏览下面的相关文章希望大家以后多多支持无名!

SpringBoot集成内存数据库Derby的实践
SpringBoot启动自动终止也不报错的原因及解决