【发布时间】:2014-11-03 17:35:57
【问题描述】:
如何在 spring(data)+maven 项目中建立一个简单的嵌入式数据库?
我需要开发一个简单的图形应用程序,它可以读取一些数据文件并以交互方式显示有关它的漂亮内容。数据非常重复,带有一点层次结构。但是我仍然不知道如何访问它。
出于这些原因,我想将其存储在数据库中,以便以后可以使用 DB 查询通过查询过滤器访问数据。 (开发一个持久层似乎也是个好主意)
因为它是一个小应用程序,我想使用一个 in-memory DB。
我对 java(使用适当的开发框架)和数据库很陌生。但是我在一个项目中使用了 spring、spring-data、JPA 等……我并没有真正理解它在内部是如何工作的,也无法设置它,但我发现它非常实用。
现在,我在互联网上找到了很多关于此的文档和教程,但我理解的不够多,不知道如何使它们适应我的需要。我想要的(我认为)是:
- 使用 maven+spring
- spring 数据(我猜)使用 Entity、JpaRepository 和 Autowired 的东西
- 独立程序,因此从 Application.main 方法开始
- 尽可能少和简单的依赖关系
- 嵌入式数据库(+fast+light 如果可能)
- 通用性很好
我填满的是:
- 我应该把什么属性/xml-declaration放在哪里
- 所有依赖项如何协同工作(spring、spring-data、h2、hsqldb、...)
我发现这个项目https://github.com/wrpinheiro/spring-jpa-embedded-db 看起来很合适,但是:
- 有太多依赖项(我认为)我不需要,因此不想要
- 我不知道如何用它启动程序
- 我不明白
org.springframework.stereotype.Service的东西 - 也不是
javax.inject.Inject
【问题讨论】:
-
你可以看看db.apache.org/derby
-
好信息,但它似乎仍应安装在执行机器上(必须设置类路径)。也许我不明白“嵌入式”是什么意思...
-
我使用 derby 进行单元测试。但是您可能可以创建一个可运行的 jar-with-dependencies,并嵌入 derby。因此类路径在 jar Manifest 中声明。
标签: java spring maven jpa in-memory-database