how to set up work with spring and jdbi3-sqlobject
I usually set up jdbi on spring like this. how to use jdbi-orm? how to install plugin and row mappers? I can pass the proxy to the JdbiOrm.setDataSource() method, but how do I install plugins? could you add an example setup with spring?
@Slf4j
@Configuration
public class DatabaseConfiguration {
@Bean
@ConfigurationProperties(prefix = "spring.datasource")
public DataSource driverManagerDatasource() {
return new DriverManagerDataSource();
}
@Bean
public DataSourceTransactionManager dataSourceTransactionManager(DataSource dataSource) {
var datasourceTransactionManager = new DataSourceTransactionManager();
datasourceTransactionManager.setDataSource(dataSource);
return datasourceTransactionManager;
}
@Bean
public Jdbi jdbi(DataSource dataSource, List<RowMapper<?>> mappers) {
var proxy = new TransactionAwareDataSourceProxy(dataSource);
var jdbi = Jdbi.create(proxy);
// register plugins
log.info("[JDBI] Install plugins...");
jdbi
.installPlugin(new SqlObjectPlugin())
.installPlugin(new PostgresPlugin());
// register mappers
log.info("[JDBI] Install rowMappers... ({} found)", mappers.size());
mappers.forEach(jdbi::registerRowMapper);
return jdbi;
}
}