中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

springboot怎么連接多個數據源

小億
105
2023-12-08 15:57:58
欄目: 編程語言

在Spring Boot中連接多個數據源,可以使用Spring框架提供的多數據源支持。下面是一個示例:

  1. 配置多個數據源的連接信息。在application.properties(或application.yml)中配置多個數據源的連接信息,例如:
# 數據源1
spring.datasource.url=jdbc:mysql://localhost:3306/db1
spring.datasource.username=root
spring.datasource.password=123456

# 數據源2
datasource2.url=jdbc:mysql://localhost:3306/db2
datasource2.username=root
datasource2.password=123456
  1. 創建多個數據源的配置類。分別創建多個配置類用于配置不同的數據源,例如:
@Configuration
public class DataSource1Config {
    
    @Bean
    @ConfigurationProperties(prefix = "spring.datasource")
    public DataSource dataSource1() {
        return DataSourceBuilder.create().build();
    }
}

@Configuration
public class DataSource2Config {
    
    @Bean
    @ConfigurationProperties(prefix = "datasource2")
    public DataSource dataSource2() {
        return DataSourceBuilder.create().build();
    }
}
  1. 創建多個數據源的JdbcTemplate實例。在需要使用數據源的地方,使用@Autowired注解注入對應的數據源,并創建JdbcTemplate實例,例如:
@RestController
public class UserController {
    
    @Autowired
    private DataSource dataSource1;
    
    @Autowired
    private DataSource dataSource2;
    
    @Bean
    public JdbcTemplate jdbcTemplate1() {
        return new JdbcTemplate(dataSource1);
    }
    
    @Bean
    public JdbcTemplate jdbcTemplate2() {
        return new JdbcTemplate(dataSource2);
    }
    
    @GetMapping("/users")
    public List<User> getUsers() {
        // 使用jdbcTemplate1查詢數據源1的用戶數據
        List<User> users1 = jdbcTemplate1().query("SELECT * FROM users", new BeanPropertyRowMapper<>(User.class));
        
        // 使用jdbcTemplate2查詢數據源2的用戶數據
        List<User> users2 = jdbcTemplate2().query("SELECT * FROM users", new BeanPropertyRowMapper<>(User.class));
        
        // 合并兩個數據源的用戶數據
        List<User> allUsers = new ArrayList<>();
        allUsers.addAll(users1);
        allUsers.addAll(users2);
        
        return allUsers;
    }
}

這樣,就可以使用多個數據源來連接不同的數據庫。在需要使用數據源的地方,可以根據具體的需求選擇對應的數據源進行操作。

0
营山县| 文水县| 宁安市| 枣庄市| 曲靖市| 周至县| 西安市| 横山县| 利津县| 潞城市| 西畴县| 阿图什市| 石门县| 揭东县| 新和县| 郧西县| 金昌市| 建始县| 文水县| 德化县| 聂拉木县| 左贡县| 宣武区| 临汾市| 察哈| 江城| 喀喇沁旗| 天峨县| 丹江口市| 南平市| 阿坝| 石屏县| 山东省| 永康市| 浮山县| 米林县| 黄山市| 皮山县| 郯城县| 沾益县| 卢氏县|