This is the process how I get data from database:
UserController.java
@RequestMapping("user")
public Optional<String> getUserService() {
return userService.getUser();
}
UserService.java
@Service
public class UserService {
final UserRepository userRepository;
public UserService(UserRepository userRepository) {
this.userRepository = userRepository;
}
public Optional<String> getUser() {
return userRepository.findById(1).map(User::getName);
}
}
UserRepository.java
@Repository
public interface UserRepository extends CrudRepository<User, Integer> {
}
User.java
@Entity(name = "users")
public class User {
@Id
@GeneratedValue(strategy = GenerationType.AUTO)
private int id;
private String name;
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
}
If I run my application, I get my result BUT from the wrong database! I am using 3 different databases. See application.properties:
#default
spring.default.datasource.url=jdbc:postgresql://localhost:5432/webshop-analyser?createDatabaseIfNotExists=true
spring.default.datasource.driver-class-name=org.postgresql.Driver
spring.default.datasource.username=postgres
spring.default.datasource.password=reza
spring.jpa.hibernate.ddl-auto=update
spring.jpa.database-platform=org.hibernate.dialect.PostgreSQLDialect
spring.jpa.properties.hibernate.temp.use_jdbc_metadata_defaults=false
spring.jpa.properties.hibernate.show_sql=true
#Example 1
spring.wila.datasource.url=https://example.com
spring.wila.datasource.driver-class-name=org.mariadb.jdbc.Driver
spring.wila.datasource.username=test
spring.wila.datasource.password=test
#Example 2
spring.wald.datasource.url=https://example2.com
spring.wald.datasource.driver-class-name=org.mariadb.jdbc.Driver
spring.wald.datasource.username=
spring.wald.datasource.password=
So how can I get a result from the database of spring.wila.datasource.url
instead of spring.default.datasource.url
?