mysql - 可以同时使用 JDBC Template 和 JDBC MySQL 吗?
问题描述
解决方案
您不能在 中多次定义相同的键application.properties
,一个会覆盖另一个。这意味着如果您需要使用多个数据源(对于 MySQL 和 H2),您不能依赖spring.datasource.xxx
于application.properties
. 相反,请自行明确定义这两个 DataSource。有关示例,请参阅官方文档。
此外,JdbcTemplate
仅在以下情况下才会配置:
- 只有一个
DataSource
定义 - 如果
DataSource
定义了多个,但只有一个DataSource
标记为@Primary
,它将仅针对此@Primary
DataSource 进行配置。
这意味着在您定义多个 DataSource 之后,您必须将 H2 标记为@Primary
这样,JdbcTemplate
以便为它自动配置,以确保您现有的JDBCTempalte
相关代码仍然与 H2 交互,但不与 MySQL 交互。
顺便说一句,对一个简单的 CRUD 应用程序使用多个数据库没有任何好处。如果您想要一个涵盖来自多个数据库的数据的事务,您将遇到问题。我建议你只为这样一个简单的应用程序选择一个。
(有关更多详细信息,请参阅我的相关答案)
推荐阅读
- node.js - 全局包成功安装并工作,但终端重启后停止工作
- javascript - 关于父母年龄和孩子年龄的白板问题
- swift - 无法使用 CoreML 模型进行预测
- c++ - 将链接器参数添加到 gradle
- c++ - 尽管条件为真,但循环停止
- python-3.x - 带有 SCAPY 的 TCP 字段
- powershell - VS 代码警告
- android - 如何以编程方式关闭 Android 材料警报对话框?
- ios - 无法将变量值从 firebase firestore 传递到另一个类 SWIFT
- javascript - Umbraco 8:从 javascript 中的 URL 获取图像并将结果分配给表单中的 FileUpload 控件