我需要创建Web应用程序(与Spring+MySQL),这应该有点像**“MySQL工作台在线”**。在我的应用程序中,用户将能够创建他们自己的数据库。我是这样做的:
用户按下(例如按钮)‘创建新数据库’,然后我创建一个file.sql并将以下代码写入其中:
创建架构‘db_name’;
如果用户选择“创建表”选项,我将再次打开该文件,并为其编写适当的代码
在所有这些之后,当用户最终完成他的数据库时,当我有了需要在我的Java代码中执行的所有SQL代码时,我有了file.sql...嗯,事情开始变得复杂起来,我的问题是:
这是我在应用程序中的数据源。属性:
spring.datasource.url=jdbc:mysql://localhost:3306/
spring.datasource.username=root
spring.datasource.password=1234
如果您看到我没有指定数据库,我只选择端口我只连接到服务器,而不是连接到特定数据库。**如果我没有指定一个具体的数据库,我可以对数据库进行一些操作吗?**在此之前,我已经有了该配置:
spring.datasource.url=jdbc:mysql://localhost:3306/mydatabase
spring.datasource.username=root
spring.datasource.password=1234
例如,一切运行正常:我的选择如下所示:
从表1中选择*;
我是否可以将数据源从本地主机:3306/mydatabase更改为:本地主机:3306/并执行SELECT?
SELECT*FROMMY DATABASE.TABLE1;
如果可以,我还需要配置什么?我一直都有错误“未选择数据库”。
- (我只需要连接到服务器,而不需要连接到特定数据库,因为我想用Java代码执行SQL代码“CREATE SCHEMA”)*
2条答案
按热度按时间m528fe3b1#
Spring Boot简化了数据源的配置。
默认情况下,Spring Boot将示例化其默认数据源,其配置属性以spring.datource为前缀。*:
现在,我们希望继续使用相同的方法配置第二个数据源,但使用不同的属性命名空间:
因为我们希望Spring Boot自动配置获得这些不同的属性(并实际示例化两个不同的数据源),所以我们将定义2个配置类,类似于前几节中的配置类:
然后是这个
我们已经根据Boot自动配置约定在Persistence-Multiple-db-boot.Properties中定义了数据源属性。
有趣的部分是用@ConfigurationProperties注解数据源Bean创建方法。我们只需要指定相应的配置前缀。在该方法中,我们使用DataSourceBuilder,而Spring Boot将自动处理其余部分。但是,如何将已配置的属性实际注入到数据源配置中呢?
在DataSourceBuilder上调用Build()方法时,它将调用其私有绑定()方法:
此私有方法执行大部分自动配置魔术,将解析的配置绑定到实际的DataSource示例:
尽管我们自己不必接触这些代码中的任何一个,但了解Spring Boot自动配置的幕后情况仍然很有用。
除此之外,事务管理器和实体管理器Bean的配置与标准的Spring应用程序相同。
请参考以下链接以获取示例:https://medium.com/@joeclever/using-multiple-datasources-with-spring-boot-and-spring-data-6430b00c02e7
b4qexyjb2#
微服务*架构解决您的问题。使用Spring更容易创建它。
简而言之,您将为您的服务创建一个数据库(称为Gateway)和其他数据库。所有请求都通过网关到达其他数据库。
阅读这篇文章以了解更多信息!⬇️
https://spring.io/blog/2015/07/14/microservices-with-spring
此外,如果你搜索的话,会有更多的指南。