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

作者:花生皮编程 时间:2023-03-20 22:44:34 

目录
  • 目标

  • 为什么

  • 操作步骤

  • 工程截图

  • 运行

  • 效果

  • 完整源代码

目标

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

为什么

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

操作步骤

修改pom.xml文件


<dependency>
<groupId>com.h2database</groupId>
<artifactId>h2</artifactId>
<scope>runtime</scope>
</dependency>

修改项目配置文件application.yml


spring:
 datasource:
   username: hsp
   password: 123456
   url: jdbc:h2:file:./blogDB
   driver-class-name: org.h2.Driver
   schema: classpath:schema.sql
   data: classpath:data.sql
   initialization-mode: always
   continue-on-error: true

h2:
   console:
     enabled: true
     path: /h2

添加初始化数据文件

建表脚本:schema.sql


CREATE TABLE `blog` (
 `id` int AUTO_INCREMENT NOT NULL,
 `title` varchar(255) DEFAULT NULL,
 PRIMARY KEY (`id`)
);

导入数据脚本: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集成内存数据库H2的实践

运行

运行HspApplication即可

效果

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

完整源代码

https://gitee.com/hspbc/springboot_memdb

来源:https://juejin.cn/post/7004788724072448036

标签:SpringBoot,H2
0
投稿

猜你喜欢

  • Android 8.0升级不跳转应用安装页面的解决方法

    2022-03-20 03:30:13
  • C#实现简单合并word文档的方法

    2022-10-27 10:50:00
  • C# 位运算符整理

    2022-12-28 15:59:35
  • 深入理解Java设计模式之简单工厂模式

    2023-12-06 07:16:36
  • Java Swing JTextArea文本区域的实现示例

    2023-10-30 13:40:28
  • Android 动画之RotateAnimation应用详解

    2022-08-17 17:03:07
  • MyBatis环境资源配置实现代码详解

    2023-08-05 08:59:02
  • Spring Cloud中FeignClient实现文件上传功能

    2023-06-23 07:57:09
  • Java抛出异常与自定义异常类应用示例

    2022-10-23 01:58:52
  • java 数据类型有哪些取值范围多少

    2023-01-18 06:13:44
  • 如何把JAR发布到maven中央仓库的几种方法

    2022-11-08 11:07:06
  • SpringBoot自动配置原理分析

    2022-03-02 17:42:51
  • Spring钩子接口汇总分析使用示例

    2022-09-24 23:29:56
  • AndroidStudio 3.6 中 R.layout 找不到对应的xml文件问题及解决方法

    2023-05-19 08:22:02
  • C#之继承实现

    2023-04-10 16:51:41
  • Java反射通过Getter方法获取对象VO的属性值过程解析

    2023-04-11 06:11:33
  • Spring Cloud Alibaba 本地调试介绍及方案设计

    2023-05-26 21:24:26
  • 使用Log4j为项目配置日志输出应用详解以及示例演示的实现分析

    2022-07-30 14:26:45
  • Java单元测试Powermockito和Mockito使用总结

    2021-11-12 14:59:07
  • JSON Web Token(JWT)原理入门教程详解

    2023-02-05 06:34:43
  • asp之家 软件编程 m.aspxhome.com