gpt4 book ai didi

java - 如何用真实数据库表填充 h2 内存表?

转载 作者:可可西里 更新时间:2023-11-01 11:23:08 25 4
gpt4 key购买 nike

我希望我能以适当的方式解释这一点。

我有一个包含多个表的 Sql Server 数据库。在我的 Spring - Boot 应用程序中,我需要查询那些表,有几个表永远不会改变。

例如,为简单起见,假设它是一个 Book 表,我以不同的方式查询书籍,按价格、按 ID、按 ISBN 等等。

所以我首先想到的是使用 Redis,但这对我来说并不好。为什么?

好吧,Redis 将数据存储在一个键值对中,所以如果我捕获整个表,然后在我的代码中当我想对该数据执行相同的复杂查询时(给我这本 ISBN 的书),那这是不可能的,我需要为每个操作创建不同的 Catched 方法,所以下次我请求相同的数据时,如果缓存中存在,它就不会去查询数据库。

这就是为什么我使用 H2 内存数据库,我可以将我的“书”填入内存表并对其进行各种操作,因为它像普通数据库一样工作,我可以查询任何内容。

现在,我的问题来了:

我知道我可以将初始数据加载到指向某个脚本的 H2 中,没关系。但是我想用我的 SQL Server Book 表中已有的相同数据填充内存数据库中的“Book”。

你怎么看?这可能吗?有什么想法吗?

提前致谢!

最佳答案

您可以实现 CommandLineRunner 或 ApplicationRunner 进行数据初始化 https://dzone.com/articles/spring-boot-applicationrunner-and-commandlinerunne

(具有“spring.datasource.data=script.sql”属性的资源中的script.sql也可用于数据加载)

关于java - 如何用真实数据库表填充 h2 内存表?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57695334/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com