У меня есть требование написать простое приложение для записи некоторых значений в БД.
По сути, это некоторая повторяющаяся задача, которая должна выполняться довольно часто, и я хочу создать простое загрузочное приложение Spring с Пользовательский интерфейс выставлен так, что это может быть сделано автоматически c способом.
У меня есть класс сущности с простым POJO MyClient, я написал контроллер и классы обслуживания и могу получать и отправлять сообщения в БД :
Мой App.properties выглядит следующим образом:
spring.datasource.url=jdbc:oracle:thin:@db-host-1:1521/xxx.xx.intern
spring.datasource.username=root
spring.datasource.password=root
// Класс контроллера
@GetMapping("/clients")
public List<MyClient> retrieveAllClientVersions(){
return myClientService.listAllClientVersions();
}
@RequestMapping(value = "/client/add", method = RequestMethod.POST)
@ResponseBody
void addNewClientVersion(@RequestBody MyClient myClient){
myClientService.addNewClientVersion(myClient);
}
// Класс обслуживания
private MyClientRepository myClientRepository;
@Autowired
public MyClientService(MyClientRepository myClientRepository){
this.myClientRepository=myClientRepository;
}
public List<MyClient> listAllClientVersions(){
List<MyClient> myClients=new ArrayList<>();
myClientRepository.findAll().forEach(myClients::add);
return myClients;
}
public void addNewClientVersion(MyClient myClient){
myClient.setReleaseKeyVersion(RELEASE_KEY_VERSION);
myClient.setClientVersion(myClient.getClientVersion());
myClient.setDescription(DESCRIPTION);
myClient.setReleaseCertDn(DGV_RELEASE_CERT_DN);
myClient.setStatus(STATUS);
myClient.setClientSecurityProfileDbId(CLIENT_SECURITY_PROFILE_DB_ID);
myClient.setIssuerDbId(ISSUER_DB_ID);
myClientRepository.save(myClient);
}
У нас около 50 тестовых сред, где мне нужно выполнить один и тот же запрос. Я хотел создать пользовательский интерфейс, в котором я могу установить флажки для всей среды с помощью кнопок, таких как GET и POST.
Независимо от того, какую среду пользователь выбирает из флажков и говорит POST, «Вставка» должна выполняться во всех этих средах.
Как это можно сделать? Есть ли способ, что на основе параметра запроса в запросе POST вставка может быть запущена на другой БД. Как мы подключаемся к разным БД во время выполнения? Что может быть лучшим способом сделать это?