在Springboot项目中配置多个数据库的步骤是:一、添加数据库依赖;二 、配置数据源;三、配置JdbcTemplate;四、使用JdbcTemplate访问数据库 。添加数据库依赖是指在pom.xml文件中添加需要使用的数据库依赖。
一、添加数据库依赖在pom.xml文件中添加需要使用的数据库依赖。例如,如果我们需要使用MySQL和Oracle数据库 ,则需要添加以下依赖:
<!-- MySQL database driver --><dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> <version>{MySQL版本号}</version></dependency><!-- Oracle database driver --><dependency> <groupId>com.oracle.database.jdbc</groupId> <artifactId>ojdbc8</artifactId> <version>{Oracle版本号}</version></dependency>二 、配置数据源在Spring Boot项目中,我们可以使用application.properties或application.yml配置文件来配置数据源。通常情况下,我们需要为每个数据库配置一个数据源 。使用application.properties配置数据源在application.properties文件中,我们可以使用以下配置来配置数据源:
# MySQL 数据源配置spring.datasource.mysql.url={MySQL数据库连接地址}spring.datasource.mysql.username={MySQL数据库用户名}spring.datasource.mysql.password={MySQL数据库密码}spring.datasource.mysql.driver-class-name=com.mysql.cj.jdbc.Driver# Oracle 数据源配置spring.datasource.oracle.url={Oracle数据库连接地址}spring.datasource.oracle.username={Oracle数据库用户名}spring.datasource.oracle.password={Oracle数据库密码}spring.datasource.oracle.driver-class-name=oracle.jdbc.driver.OracleDriver使用application.yml配置数据源在application.yml文件中 ,我们可以使用以下配置来配置数据源:
# MySQL 数据源配置spring: datasource: mysql: url: {MySQL数据库连接地址} username: {MySQL数据库用户名} password: {MySQL数据库密码} driver-class-name: com.mysql.cj.jdbc.Driver# Oracle 数据源配置spring: datasource: oracle: url: {Oracle数据库连接地址} username: {Oracle数据库用户名} password: {Oracle数据库密码} driver-class-name: oracle.jdbc.driver.OracleDriver三、配置JdbcTemplate在Spring Boot项目中,我们可以使用JdbcTemplate来访问数据库。为了访问多个数据库,我们需要为每个数据库创建一个JdbcTemplate实例。
@Configurationpublic class DataSourceConfig { @Bean(name = "mysqlJdbcTemplate") public JdbcTemplate mysqlJdbcTemplate(@Qualifier("mysqlDataSource") DataSource dataSource) { return new JdbcTemplate(dataSource); } @Bean(name = "oracleJdbcTemplate") public JdbcTemplate oracleJdbcTemplate(@Qualifier("oracleDataSource") DataSource dataSource) { return new JdbcTemplate(dataSource); } @Bean(name = "mysqlDataSource") @ConfigurationProperties(prefix = "spring.datasource.mysql") public DataSource mysqlDataSource() { return DataSourceBuilder.create().build(); } @Bean(name = "oracleDataSource") @ConfigurationProperties(prefix = "spring.datasource.oracle") public DataSource oracleDataSource() { return DataSourceBuilder.create().build(); }}在上述代码中 ,我们定义了两个JdbcTemplate实例:mysqlJdbcTemplate和oracleJdbcTemplate 。每个JdbcTemplate实例都需要一个对应的数据源,因此我们还定义了两个数据源:mysqlDataSource和oracleDataSource。通过@Bean注解,我们将这些实例注册到Spring容器中。@Qualifier注解用于指定使用哪个数据源 。

现在我们已经完成了多个数据库的配置和数据源的创建 ,可以使用JdbcTemplate来访问数据库了。
@Servicepublic class UserService { @Autowired @Qualifier("mysqlJdbcTemplate") private JdbcTemplate mysqlJdbcTemplate; @Autowired @Qualifier("oracleJdbcTemplate") private JdbcTemplate oracleJdbcTemplate; public List<User> getAllUsersFromMySQL() { String sql = "SELECT * FROM user"; return mysqlJdbcTemplate.query(sql, new BeanPropertyRowMapper<>(User.class)); } public List<User> getAllUsersFromOracle() { String sql = "SELECT * FROM user"; return oracleJdbcTemplate.query(sql, new BeanPropertyRowMapper<>(User.class)); }}在上述代码中,我们使用@Autowired注解将mysqlJdbcTemplate和oracleJdbcTemplate注入到UserService中。使用JdbcTemplate的query()方法可以执行SQL查询语句并返回结果 。延伸阅读:
什么是Spring Boot?Spring Boot是由Pivotal团队提供的全新框架,其设计目的是用来简化新Spring应用的初始搭建以及开发过程。该框架使用了特定的方式来进行配置 ,从而使开发人员不再需要定义样板化的配置。通过这种方式,Spring Boot致力于在蓬勃发展的快速应用开发领域(rapid application development)成为领导者 。
