【发布时间】:2015-10-08 12:34:46
【问题描述】:
要么我错过了一些深藏在某些文档(Spring、Spring Boot、H2、HSQLDB、Derby、IntelliJ)中的核心概念,要么我已经盯着这个看太久了。
我有一个 Spring Boot 项目正在进行。一开始尝试使用和初始化 H2 DB,尝试在 IntelliJ 中连接到它,结果发现如果不放弃我的长子 (Connect to H2 database using IntelliJ database client),我可能无法轻松浏览数据库。
所以我搬到了 DerbyDB。同样的事情 - db 根文件夹是在我的应用程序中创建的,我在 IntelliJ 中连接到它,但我的表是刚从启动应用程序时创建的,无法浏览。
我什至尝试过 SQLite,但对 SQLite 的支持不太好,并且某些更新功能不可用,但我至少可以在 IntelliJ 浏览器中找到我的表!
我只想要一个简单的单文件嵌入式数据库,我可以轻松地使用、浏览和玩游戏。有什么建议吗?!
当我运行应用程序时,我看到架构已导出:
2015-07-19 09:37:45.836 INFO 98608 --- [ost-startStop-1] org.hibernate.tool.hbm2ddl.SchemaExport : HHH000227: Running hbm2ddl schema export
Hibernate: drop table user_roles if exists
Hibernate: drop table users if exists
Hibernate: create table user_roles (id bigint generated by default as identity, role_name varchar(255), version bigint, user_id bigint, primary key (id))
Hibernate: create table users (id bigint generated by default as identity, email varchar(255), password varchar(255), username varchar(255), version bigint, primary key (id))
Hibernate: alter table user_roles add constraint FK_g1uebn6mqk9qiaw45vnacmyo2 foreign key (user_id) references users
2015-07-19 09:37:45.849 INFO 98608 --- [ost-startStop-1] org.hibernate.tool.hbm2ddl.SchemaExport : HHH000230: Schema export complete
在 IntelliJ 中,什么都没有(根据 heenenee 的建议,使用远程 jdbc:h2:./test;AUTO_SERVER=TRUE 源):
我看到一些投票结束,因为它不清楚我在问什么:
如何使用 H2、HSQLDB 或 Derby 数据库开发应用程序并使用 IntelliJ 连接到它们?
【问题讨论】:
-
使用
./test作为路径将产生2个db:一个在你的spring boot项目的工作目录中,一个在IntelliJ的工作目录(或附近)。在两个地方都使用~/test,这样两个 URL 都指向文件系统上的相同位置。
标签: spring intellij-idea spring-boot h2