当前位置: 首页 > 知识库问答 >
问题:

HikariPool-1 - dataSource或dataSourceClassName或jdbcUrl是必需的

谭昕
2023-03-14

我正在尝试按照本指南创建一个为我提供数据源对象的Bean,但是当我尝试访问数据源时,例如这样:

Connection connection  = datasource.getConnection();
            Statement stmt=connection.createStatement();  
            ResultSet rs=stmt.executeQuery("select * from products");   

我得到这个错误:

 HikariPool-1 - dataSource or dataSourceClassName or jdbcUrl is required.

我多次编辑我的代码,因为我读过各种各样的例子,它们总是略有不同。

@Configuration
@ComponentScan("com.packagename.webstore")
public class RootApplicationContextConfig {

    @Bean 
    @ConfigurationProperties(prefix = "spring.datasource")
    public HikariDataSource  dataSource() {     
        return DataSourceBuilder.create().type(HikariDataSource.class).build();

    } 
}

这是src/main/resources文件夹中的application.properties文件:

spring.datasource.jdbc-url=jdbc:mysql://localhost:3306/db_example
spring.datasource.username=springuser
spring.datasource.password=password
spring.datasource.driverClassName=com.mysql.jdbc.Driver

这是我的依赖关系:

有人知道我错在哪里吗??谢谢你

共有1个答案

尤钱明
2023-03-14

这对你应该有用。

# DataSource settings: Database configurations
spring.datasource.url = jdbc:mysql://localhost:3306/db_example
spring.datasource.username = springuser
spring.datasource.password = password

# Keep the connection alive if idle for a long time (needed in production)
spring.datasource.testWhileIdle = true
spring.datasource.validationQuery = SELECT 1
import org.springframework.data.repository.CrudRepository;
import org.springframework.stereotype.Repository;

@Repository
public interface ProductRepository extends CrudRepository<Product, Long> {

}

MVC @Service上调用服务。

@Service
public class ProductService {

  @Autowired
  ProductRepository productRepository;

  public List<Product> findAll() {
    List<Product> results = null;

    results = productRepository.findAll();

    return results;

  }
} 
 类似资料: