Используйте встроенный пул соединений tomcat Spring boot без jdbctemplate, hibernate или JPA

#java #spring #jdbc #spring-boot #connection-pooling

#java #spring #jdbc #spring-boot #объединение пулов соединений

Вопрос:

Я интегрирую Spring boot для замены существующего RESTful API, который у нас уже был. Я хочу использовать пул подключений, который поставляется вместе с ним. Я новичок в Spring boot. Я вижу в DataSource объекте, что я могу получить соединение, но оно возвращается null .

Я также знаю, что пытаться использовать это соединение снаружи отдельно — не лучшая практика.

Как я могу использовать JDBC-соединение Spring boot с моим существующим основным объектом доступа к базе данных Java?

Комментарии:

1. Вопрос не очень ясен. Вы имеете в виду, dataSource.getConnection() возвращает null или ваш источник данных равен null? Если вы не хотите использовать spring jdbc, hibernate и т.д., То, очевидно, вы можете использовать стандартный источник данных драйвера или любой другой объединенный источник данных, т. е. apache-dbcp для этой цели.

Ответ №1:

Создайте компонент в классе конфигурации следующим образом:

 @Configuration
public class Configuration {
    @Bean
    public DataSource dataSource() {
      ConnectionFactory connectionFactory = new DriverManagerConnectionFactory(connectURI,null);
      PoolableConnectionFactory poolableConnectionFactory = new PoolableConnectionFactory(connectionFactory);
      ObjectPool objectPool = new GenericObjectPool(poolableConnectionFactory);
      PoolingDataSource dataSource = new PoolingDataSource(objectPool);
      return dataSource;
    }