Skip to content

autoconfigure-jpa

This library provides support for connecting to 1 or more databases.

How to use in client project ?

repositories {
	maven {
		url 'https://gitlab.com/api/v4/projects/39953646/packages/maven'
	}
	mavenCentral()
}

dependencies {
	// import BOM
	implementation(platform("uiowa.springboot:autoconfigure:1.0.0"))
	implementation ("uiowa.springboot:autoconfigure-jpa")
}

Connecting to single database

Add below required properties to configure single database connection.

- uiowa.ais.datasource.pool."pool name".driver-class-name=
- uiowa.ais.datasource.pool."pool name".username=
- uiowa.ais.datasource.pool."pool name".password=
- uiowa.ais.datasource.pool."pool name".jdbc-url=

Ex: If pool name is maui

- uiowa.ais.datasource.pool.maui.driver-class-name=
- uiowa.ais.datasource.pool.maui.username=
- uiowa.ais.datasource.pool.maui.password=
- uiowa.ais.datasource.pool.maui.jdbc-url=

Connecting to 2 or more databases

Add below required properties to configure two or more database connection.

- uiowa.ais.datasource.pool."pool 1 name".driver-class-name=
- uiowa.ais.datasource.pool."pool 1 name".username=
- uiowa.ais.datasource.pool."pool 1 name".password=
- uiowa.ais.datasource.pool."pool 1 name".jdbc-url=

- uiowa.ais.datasource.pool."pool 2 name".driver-class-name=
- uiowa.ais.datasource.pool."pool 2 name".username=
- uiowa.ais.datasource.pool."pool 2 name".password=
- uiowa.ais.datasource.pool."pool 2 name".jdbc-url=

- uiowa.ais.datasource.primary-pool=primary pool name

Below example show you can connect to prospector and maui database.

uiowa.ais.datasource.primary-pool=prospector


uiowa.ais.datasource.pool.prospector.driver-class-name=oracle.jdbc.OracleDriver
uiowa.ais.datasource.pool.prospector.username=PROSPECTOR_APP
uiowa.ais.datasource.pool.prospector.password=e(prospector:guXdZcTwtZtJ6xKrhfmqzalZJ/omJ0m0hCBq54QWEjNaNGwvoQsYhg==)
uiowa.ais.datasource.pool.prospector.jdbc-url=jdbc:oracle:thin:@barley.its.uiowa.edu:1521:mauibase
uiowa.ais.datasource.pool.prospector.connection-init-sql=alter session set current_schema=prospector


uiowa.ais.datasource.pool.maui.driver-class-name=oracle.jdbc.OracleDriver
uiowa.ais.datasource.pool.maui.username=MAUI_GUI_2018_APP
uiowa.ais.datasource.pool.maui.password=e(maui:sCYtNCJgA5ADpmUPBj1qNq92tw40TLGd)
uiowa.ais.datasource.pool.maui.jdbc-url=jdbc:oracle:thin:@wheat.its.uiowa.edu:1521:mauidev
uiowa.ais.datasource.pool.maui.schema=maui

Repository Interface

@Repository
public interface ProspectRepository extends JpaRepository<Prospect,Long> {

}
  • To connect to maui database you will need to use @WithPool("maui") on your repository interface. You can also use @WithPool("maui") on your service method.
@Repository
//This repository will connect to maui database
@WithPool("maui") 
public interface MauiProspectRepository extends JpaRepository<MauiProspect,Long> {
    List<MauiProspect> findByPurgeSessionSourceEn(String en);
    Long countMauiProspectByPurgeSessionSourceEn(String i);
}

In above example the name maui must match with pool name (maui) from your application.properties