首页 > 数据库 >使用H2数据库搭建springboot应用

使用H2数据库搭建springboot应用

时间:2023-05-29 14:58:01浏览次数:43  
标签:springboot H2 spring 数据库 args h2 datasource

h2数据库有2中模型,一种是嵌入式,一种是服务端。嵌入式时,我们多个配置同一个地址就可以访问同一个数据集,服务端需要额外开启服务,再通过ip端口访问。这里我们介绍下怎么在springboot项目下开启服务端模式。

1、在springboot应准备就绪后启动h2服务

public class H2Server implements ApplicationListener<ApplicationPreparedEvent> {
	@Override
	public void onApplicationEvent(ApplicationPreparedEvent event) {
		String[] args = new String[] { "-tcpPort", "9007", "-tcpPassword", "abc123", "-tcpAllowOthers", "-ifNotExists" };
		log.info("准备启动H2数据库,启动参数:{}", JSON.toJSONString(args));
		try {
			Server h2Server = Server.createTcpServer(args).start();
			if (h2Server.isRunning(true)) {
				log.info("H2数据库启动成功,地址:{},端口:{}", h2Server.getURL(), h2Server.getPort());
			}
		} catch (SQLException e) {
			log.error("H2数据库启动出错", e);
		}
	}
}

参数说明:

-tcpPort:服务端口

-tcpPassword:服务密码

-tcpAllowOthers:运行其他主机访问

 

2、启动类添加创建好的监听

public class EbiCheckApplication {
	public static void main(String[] args) {
		SpringApplication app = new SpringApplicationBuilder(H2TestApplication.class).bannerMode(Mode.OFF).build();
		app.addListeners(new H2Server());
		app.run(args);
	}
}

 

3、pom.xml中添加驱动

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

 

4、 配置数据源参数

spring.datasource.driverClassName=org.h2.Driver
spring.datasource.url=jdbc:h2:tcp://localhost:9007/./h2_test
spring.datasource.username=root
spring.datasource.password=abc123
spring.datasource.type=org.apache.commons.dbcp2.BasicDataSource

服务启动后就是在springboot应用当前目录创建h2_test.mv.db文件,这就是我们的数据库文件了。也可以配置成~/h2_test,这样就会在用户目录下创建数据库文件

 

5、dbeaver配置连接

标签:springboot,H2,spring,数据库,args,h2,datasource
From: https://www.cnblogs.com/zhi-leaf/p/17440392.html

相关文章

  • 什么是数据库的外模式和模式映像?
    在数据库设计中,外模式/模式映像(ExternalSchema/ConceptualSchemaMapping)是指将外部模式与概念模式之间的映射关系。外部模式是指用户或应用程序对数据库的特定视图或子集的定义,而概念模式是指数据库的整体逻辑结构和组织方式。外模式/模式映像的作用是将外部模式与概念模式解耦......
  • 关于电商解决方案里 Cart calculation 的数据库 Contention 问题
    在电商开发领域中,"ContentiononthedatabaseIOduetoupdateofthecart,cartentriesandpromotionresults"指的是由于购物车、购物车条目和促销结果的更新而导致的数据库输入/输出(IO)冲突。购物车是电商网站中重要的功能之一,它允许用户将所需的商品添加到购物车中并进......
  • 玩转MySQL数据库之SQL优化之慢查询
    本系列为:MySQL数据库详解,为千锋资深教学老师独家创作,致力于为大家讲解清晰MySQL数据库相关知识点,含有丰富的代码案例及讲解。如果感觉对大家有帮助的话,可以【关注】持续追更~文末有本文重点总结,技术类问题,也欢迎大家和我们沟通交流!前言从今天开始本系列文章就带各位小伙伴学习......
  • SpringBoot 项目 返回时间 日期、格式不正确 解决办法
    https://blog.csdn.net/rain67/article/details/127200263 SpringBoot项目返回时间格式不正确解决办法1、遇到问题2、解决方法(1)问题所在(2)如何解决(3)效果SpringBoot项目返回时间格式不正确解决办法  今天做一个SpringBoot+Vue的一个练习项目,想要搞一个创建该账号的时间,......
  • 上万条最好的周公解梦ACCESS\EXCEL数据库
    虽然之前已经有了《7千多条周公解梦断梦秘书ACCESS数据库》、《4千多周公解梦包含化解方法ACCESS数据库》等相关的周公解梦的数据库,但今天发现的周公解梦的记录数量已经达到了上万条,虽然分类没有《7千多条周公解梦断梦秘书ACCESS数据库》多,但记录数多出了不少。分类情况汇总有:01......
  • 上万条全球各国纸币大全含图ACCESS数据库
    《上万条全球各国纸币大全含图ACCESS数据库》是今天采集自钱币大全网站的纸币资料,大类包含:中国大陆、中国台湾、中国香港、中国澳门、亚洲纸钞、欧洲纸钞、美洲纸钞、非洲纸钞、大洋洲、其他纸钞等,而且纸币信息包含:国家名称、英文名称、目录编号、纸钞面额、纸钞年版、纸钞规格、......
  • SpringBoot自动配置原理
    在SpringBoot项目中的引导类上有一个注解@SpringBootApplication,这个注解是对三个注解进行了封装,分别是:@SpringBootConfiguration@EnableAutoConfiguration@ComponentScan其中@EnableAutoConfiguration是实现自动化配置的核心注解。该注解通过@Import注解导入对应的配......
  • 3万多条含图片的菜谱资料ACCESS\EXCEL数据库
    我记得之前我采集、提取过两份菜谱资料数据库,一份是菜谱数据不上万的带图片的,详情点击这里,一份是2万多条记录但格式未整理并且没有图片的。而今天的这个3万多条含图片的菜谱资料ACCESS数据库包含了3万多条常菜谱做法,并且结构简洁,最主要的是每个菜谱都包含图片。菜谱分50个大类......
  • 近万采集中华典故网站文章大全ACCESS\EXCEL数据库
    一个学语文的朋友问我有没有关于中华典故以及万物由来的数据,我看了看手头的资料发现还真没有,而且网上似乎也没有这一类的成品,因此就用程序采集了一个中华典故网的文章。分类统计情况有:成语典故(共4198条)、典故杂闻(共702条)、国外典故(共29条)、科学典故(共29条)、历史典故(共374条)、神......
  • 1万7千条英语口语句子大全ACCESS\EXCEL数据库
    其实,关于英汉词典或者英语类的数据库硬盘上还有很多很多,不仅仅是已放在这里的,至于会不会陆续的发在这里得视情况,今天的这个《1万7千条英语日常口语句子大全》只是其中之一。截图下方有显示“共有记录数”,截图包含了表的所有字段列。该数据提供ACCESS数据库文件(扩展名是MDB)以及EX......