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

(0)

相关推荐

  • SpringBoot集成内存数据库Sqlite的实践

    目录 目标 为什么 操作步骤 工程截图 运行 效果 完整源代码 目标 在SpringBoot中集成内存数据库Sqlite. 为什么 像H2.hsqldb.derby.sqlite这样的内存数据库,小巧可爱,做小型服务端演示程序,非常好用.最大特点就是不需要你另外安装一个数据库. 操作步骤 1.修改pom.xml文件 <dependency> <groupId>org.xerial</groupId> <artifactId>sqlite-jdbc</a

  • SpringBoot集成Redis数据库,实现缓存管理

    目录 一.Redis简介 二.Spring2.0集成Redis 1.核心依赖 2.配置文件 3.简单测试案例 4.自定义序列化配置 5.序列化测试 三.源代码地址 一.Redis简介 Spring Boot中除了对常用的关系型数据库提供了优秀的自动化支持之外,对于很多NoSQL数据库一样提供了自动化配置的支持,包括:Redis, MongoDB, Elasticsearch.这些案例整理好后,陆续都会上传Git. SpringBoot2 版本,支持的组件越来越丰富,对Redis的支持不仅仅是扩展

  • SpringBoot集成H2内存数据库的方法

    目录 前言 准备 技术栈 目录结构 pom.xml 实体类 User AddressRepository application.yml 连接配置 数据初始化配置 h2 web consloe配置 代码下载 H2是Thomas Mueller提供的一个开源的.纯java实现的关系数据库. 前言 本篇文章引导你使用Spring Boot,Spring Data JPA集成H2内存数据库.更多关于H2数据参考:http://www.h2database.com/html/tutorial.html

  • Springboot2 集成 druid 加密数据库密码的配置方法

    一:环境 springboot 2.x druid 1.1.21 二:druid加密数据库密码 本地下载druid-1.1.21.jar包,运行cmd,输入命令 java -cp jar包路径 com.alibaba.druid.filter.config.ConfigTools 数据库密码 java -cp druid-1.1.21.jar com.alibaba.druid.filter.config.ConfigTools 数据库密码 运行成功输出 privateKey:MIIBVAIBA

  • SpringBoot 集成 Jasypt 对数据库加密以及踩坑

    前言 密码安全是非常重要的,因此我们在代码中往往需要对密码进行加密,以此保证密码的安全 加依赖 <!-- jasypt --><dependency> <groupId>com.github.ulisesbocchio</groupId> <artifactId>jasypt-spring-boot-starter</artifactId> <version>3.0.3</version></depend

  • jasypt 集成SpringBoot 数据库密码加密操作

    昨天看到一片文章,说是某某旗下酒店数据库因为程序员不小心,把数据库明文密码上传到了GitHub上,导致酒店数据注册资料.入住信息,开房记录被下载倒卖的消息. 作为程序员,开发的时候为了简单,账户明明都设置很简单,基本上数据库密码都是明文的,没做什么操作,至少我待过的公司都是这样,无论是测试环境还是线上环境,想想,这个也是一大安全隐患,在此,趁现在不忙,做些基于springboot的数据库密码加密. 1.pom.xml添加jar包(不同jdk选择不同的版本): <!-- jdk8 版本 整合jas

  • SpringBoot项目集成Flyway进行数据库版本控制的详细教程

    Flyway是一款开源的数据库版本管理工具,它更倾向于规约优于配置的方式. 第一步:pom.xml添加maven依赖 <!-- https://mvnrepository.com/artifact/org.flywaydb/flyway-core --> <dependency> <groupId>org.flywaydb</groupId> <artifactId>flyway-core</artifactId> <versi

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

    目录 目标 为什么 操作步骤 工程截图 运行 效果 总结 目标 在SpringBoot中集成内存数据库hsqldb. 为什么 像H2.hsqldb.derby.sqlite这样的内存数据库,小巧可爱,做小型服务端演示程序,非常好用.最大特点就是不需要你另外安装一个数据库. 操作步骤 修改pom.xml文件 <dependency> <groupId>org.hsqldb</groupId> <artifactId>hsqldb</artifactId&

  • SpringBoot集成内存数据库H2的实践

    目录 目标 为什么 操作步骤 工程截图 运行 效果 完整源代码 目标 在SpringBoot中集成内存数据库H2. 为什么 像H2.hsqldb.derby.sqlite这样的内存数据库,小巧可爱,做小型服务端演示程序,非常好用.最大特点就是不需要你另外安装一个数据库. 操作步骤 修改pom.xml文件 <dependency> <groupId>com.h2database</groupId> <artifactId>h2</artifactId&g

  • SpringBoot集成内存数据库Derby的实践

    目录 目标 为什么 操作步骤 工程截图 运行 效果 目标 在SpringBoot中集成内存数据库Derby. 为什么 像H2.hsqldb.derby.sqlite这样的内存数据库,小巧可爱,做小型服务端演示程序,非常好用.最大特点就是不需要你另外安装一个数据库. 操作步骤 修改pom.xml文件 <dependency> <groupId>org.apache.derby</groupId> <artifactId>derby</artifactId

  • SpringBoot集成gRPC微服务工程搭建实践的方法

    前言 本文将使用Maven.gRPC.Protocol buffers.Docker.Envoy等工具构建一个简单微服务工程,笔者所使用的示例工程是以前写的一个Java后端工程,因为最近都在 学习微服务相关的知识,所以利用起来慢慢的把这个工程做成微服务化应用.在实践过程踩过很多坑,主要是经验不足对微服务还是停留在萌新阶段,通过本文 记录创建微服务工程碰到一些问题,此次实践主要是解决以下问题: 如何解决.统一服务工程依赖管理 SpringBoot集成gRPC 管理Protocol buffers文

  • SpringBoot集成Sharding Jdbc使用复合分片的实践

    目录 1.Sharing JDBC 简介 2.系统改造 2.1 对接外部系统的系统 2.2 内部系统间的调用 3.解决方案 4.代码实现 4.1 Sharding JDBC 配置 4.2 数据源操作类 4.3 分片测试类 4.4 测试结果 参考文章: 最近主要的工作重心是数据库的容量规划. 随着业务的逐渐增大,原有保存在单表的数据量也日益增强.数据库数据会随着业务的发展而不断增多,因此数据操作,如增删改查的开销也会越来越大.再加上物理服务器的资源有限(CPU.磁盘.内存.IO 等).最终数据库所

  • SpringBoot集成百度AI实现人脸识别的项目实践

    目录 1. 百度AI开放平台 2. 文档集成 3. 代码实现 3.1 创建SpringBoot工程 3.2 添加百度AI依赖 3.3 创建AipFace 3.4 注册人脸接口 3.5 人脸登录接口 3.6 页面 3.7 测试结果 1. 百度AI开放平台 选择百度AI当然就要去创建对于的账号,同时创建应用信息. 进入百度AI官网,然后在开放能力Tab里面选择人脸与人体,按图中所示操作吧. 该登录就登录吧,百度账号. 对于新用户来说,可以选择免费尝鲜,要不然得充值,练手的话,这个就够了,反正各种免费

  • SpringBoot集成Redis并实现主从架构的实践

    目录 一.Windows环境下安装Redis 设置键值对 根据key获取value 二.SpringBoot连接Redis (1)使用Jedis类直接连接Redis服务器 (2)通过配置文件进行连接 三.使用连接池操作Redis 今天这篇文章来和大家分享一下在springboot中如何集成redis,并实现主从架构,进行数据的简单存储. 我的Redis是部署在Windows系统下面的,所以在这里附上Redis在Windows环境下的安装地址和安装说明. 一.Windows环境下安装Redis 首

  • SpringBoot集成MyBatis的分页插件PageHelper实例代码

    昨天给各位总结了本人学习springboot整合mybatis第一阶段的一些学习心得和源码,主要就算是敲了一下SpringBoot的门儿,希望能给各位的入门带给一点儿捷径,今天给各位温习一下MyBatis的分页插件PageHelper和SpringBoot的集成,它的使用也非常简单,开发更为高效.因为PageHelper插件是属于MyBatis框架的,所以相信很多哥们儿都已经用烂了,下面带着各位吃一下回头草. 首先说说MyBatis框架的PageHelper插件吧,它是一个非常好用的分页插件,通

随机推荐