spring boot - 单个实体的一个应用程序中的多个数据源

时间:2016-05-12 19:15:53

标签: spring spring-boot spring-data spring-data-jpa

我有多个测试数据库,我希望我的应用程序访问每个数据库中的数据。我有我的DataSources设置:

  @Bean
  @ConfigurationProperties(prefix="spring.datasource.test01")
  public DataSource test01() {
    return DataSourceBuilder.create().build();
  }

  @Bean
  @ConfigurationProperties(prefix="spring.datasource.test02")
  public DataSource test02() {
    return DataSourceBuilder.create().build();
  }

现在我已经验证了(通过标记1个主要而不是另一个)我可以使用我的" user"独立访问这两个数据库。类

package foo;

import java.sql.Date;

import javax.persistence.*;

@Entity
@Table(name="Users")
public class User {

  //columns go here     
  ...
}

和我的界面

package foo;

import org.springframework.data.repository.CrudRepository;

public interface UserRepository extends CrudRepository<User, Long> {

    User findByUsername(String lastName);
}

和我的控制器

package foo;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;


@Controller
public class GreetingController {

  @Autowired
  private UserRepository repository;

    @RequestMapping("/greeting")
    public String greeting(@RequestParam(value="name", required=false, defaultValue="World") String name, Model model) {
        model.addAttribute("name", name);
        model.addAttribute("user", repository.findByUsername("admin"));
        return "greeting";
    }

}

现在我想在我的应用程序中做

test01.repository.findByUsername("admin") == test02.repository.findByUsername("admin")

0 个答案:

没有答案