如何使用Spring连接到不同的数据库(从我的数据库中加载数据库的类型和连接信息)? < / p>
what I am trying to build?
I am building a Spring-Boot application that should be able to get data from my customers in the following ways:
1. Connect to my customer SQL DB (MySQL, MSSQL, PostgreSQL,etc...)
2. connect to my customer MongoDB,
3. read data from CSV/JSON files.
应用运行时,它会收到带有客户ID的HTTP请求。连接。此时,该应用程序应从我的数据库(包含他正在使用的数据库以及与其连接的凭据)中加载该客户,并应建立与该数据库的连接以开始查询它。 (一个客户与另一个客户之间的数据库架构是不同的,所以我还在数据库中维护了一组查询来查询客户)
我正在努力实现图中的蓝色部分:
答案 0 :(得分:0)
您可以在应用程序中配置多个数据源。您只需要提及他们的driverClassName
connectionUrl
username
password
。您可以找到一个示例here
PS:别忘了提及他们的依赖性
答案 1 :(得分:0)
可以即时创建login-form
来查询MySQL数据库。以下示例显示了如何执行此操作:
JdbcTemplate
可以使用类似的方法来使用MongoDB -创建DriverManagerDataSource dataSource = new DriverManagerDataSource();
dataSource.setDriverClassName("com.mysql.jdbc.Driver");
dataSource.setUrl("jdbc:mysql://host:port/database");
dataSource.setUsername("username");
dataSource.setPassword("password");
JdbcTemplate template = new JdbcTemplate(dataSource);
SqlRowSet sqlRowSet = template.queryForRowSet("SELECT FOO FROM BAR;");
来处理数据。另一种方法是使用本机MongoDB库。 Here,您可以找到有关使用方法的更多信息。
如果使用了Spring Boot中的库,请不要忘记禁用自动配置,因为启动时没有凭据。