我有多个测试数据库,我希望我的应用程序访问每个数据库中的数据。我有我的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")