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

Springboot postgres未能确定合适的驱动程序类别

勾向文
2023-03-14

我正在尝试使用SpringBoot和Postgres数据库开发web应用程序。然而,在连接到应用程序时,我遇到了错误“无法确定合适的驱动程序类”,正如以前帖子中的建议,我尝试使用不同版本的jdbc驱动程序,还尝试手动为NamedParameterJdbcTemplate创建bean。我还验证了库是否存在,是否可以从Java代码访问,以及类路径中是否存在这些库。但它仍然给出了同样的问题。我正在使用gradle将所有JAR导入构建路径。

下面是代码的git存储库:https://github.com/ashubisht/sample-sbs.git

Gradle依赖代码:

apply plugin: 'idea'
apply plugin: 'org.springframework.boot'
apply plugin: 'io.spring.dependency-management'

dependencies {
    compile("org.springframework.boot:spring-boot-starter-web")
    compile("org.springframework.boot:spring-boot-starter-websocket")
    compile("org.springframework.boot:spring-boot-starter-jdbc")
    //compile("org.postgresql:postgresql")
    compile("org.postgresql:postgresql:9.4-1206-jdbc42")
    testCompile("org.springframework.boot:spring-boot-starter-test")
    testCompile group: 'junit', name: 'junit', version: '4.12'
}

构建Bean的代码

@Configuration
@PropertySource("classpath:application.properties")
public class Datasource {

    @Value("${db.driverClassName}")
    private String driverClass;
    @Value("${db.url}")
    private String url;
    @Value("${db.username}")
    private String username;
    @Value("${db.password}")
    private String password;

    @Bean
    public NamedParameterJdbcTemplate namedParameterJdbcTemplate() throws Exception{
        System.out.println(driverClass+" "+ url+" "+username+" "+password);
        DriverManagerDataSource source = new DriverManagerDataSource();
        source.setDriverClassName(driverClass);
        source.setUrl(url);
        source.setUsername(username);
        source.setPassword(password);
        NamedParameterJdbcTemplate namedParameterJdbcTemplate = new NamedParameterJdbcTemplate(source);
        return namedParameterJdbcTemplate;
    }
}

这是申请表。属性

server.port=8086

#spring.datasource.driverClassName=org.postgresql.Driver
#spring.datasource.url= jdbc:postgresql://localhost:5432/testdb
#spring.datasource.username=postgres
#spring.datasource.password=password
#spring.datasource.platform=postgresql
#spring.jpa.hibernate.ddl-auto=create-drop

db.driverClassName=org.postgresql.Driver
db.url=jdbc:postgresql://localhost:5432/testdb
db.username=postgres
db.password=password

共有3个答案

慕容雅珺
2023-03-14

有同样的问题。我的解决方案是将application.properties文件扩展名更改为application.yml

翟俊
2023-03-14

对我来说,这个问题是postgresSql的一个失误

它唯一的一个s,

替换

  1. Spring。数据源。url=jdbc:postgres://localhost:5432/databaseName
  2. Spring。数据源。url=jdbc:postgressql://localhost:5432/databaseName


Spring。数据源。url=jdbc:postgresql://localhost:5432/databaseName

在hibernate方言中也检查同样的事情,

postgresqldialtential替换为postgresqldialtential

茅曾琪
2023-03-14

这个问题通过创建两个bean来解决。为DataSource和NamedParameterJdbcTemplate创建单独的bean。

    @Bean
    public DataSource dataSource(){
        System.out.println(driverClass+" "+ url+" "+username+" "+password);
        DriverManagerDataSource source = new DriverManagerDataSource();
        source.setDriverClassName(driverClass);
        source.setUrl(url);
        source.setUsername(username);
        source.setPassword(password);
        return source;
    }

    @Bean
    public NamedParameterJdbcTemplate namedParameterJdbcTemplate(){
        NamedParameterJdbcTemplate namedParameterJdbcTemplate = new NamedParameterJdbcTemplate(this.dataSource());
        return namedParameterJdbcTemplate;
    }
 类似资料:
  • 当我运行Spring Boot项目时,出现以下错误: 描述: 配置数据源失败:未指定“url”属性,无法配置嵌入式数据源。 原因:无法确定合适的驱动程序类别 行动: 考虑以下事项: 如果您想要一个嵌入式数据库(H2、HSQL或Derby),请将其放在类路径上 如果要从特定配置文件加载数据库设置,则可能需要激活它(当前没有激活的配置文件)。 我在pom中得到了这个依赖项。xml文件: 当我试图将Sp

  • 启动应用程序时,出现以下错误: 上下文初始化过程中遇到异常-取消刷新尝试:org.springframework.beans.factory.BeanCreationException:创建名为“Block DataController”的bean时出错:注入资源依赖项失败;嵌套异常为org.springframework.beans.factory.beanCreationException:创

  • 实际上,我正在开发一个带有Spring引导的restful API,我使用失眠作为客户端来测试对我的实体所做的修改。使用tomcat运行应用程序时,会显示错误消息: 无法启动应用程序 说明: 配置DataSource失败:未指定url属性,无法配置嵌入式数据源。 原因:无法确定合适的驱动程序类别。 我在文件“application.properties”中进行了必要的配置,并在pom.xml文件中

  • 我正在尝试将Postgres DB连接到我的Spring Boot应用程序,但出现以下错误: 配置数据源失败:未指定“url”属性,无法配置嵌入式数据源。原因:未能确定合适的驱动类< BR>动作: 考虑如下:如果你想要一个嵌入式数据库(H2,HSQL或DeBy),请把它放在类路径上。如果要从特定配置文件加载数据库设置,则可能需要激活它(当前没有激活的配置文件)。 application.yaml

  • 我正在使用SpringBootJPA创建一个应用程序,我正在使用MySQL作为数据库。 以下是我的申请表。性质 我添加了以下依赖项 当我签入调试日志时,我可以在我的类路径中看到mysql java连接器,但仍然会出现以下错误 2019-07-29 10:03:00.742信息10356---[主要]o.a.c.c.c.c。[雄猫]。[本地主机]。[/]:初始化Spring嵌入式WebApplica

  • 从IDE运行时,一切看起来都很好 尝试在tomcat服务器中部署应用程序时,出现以下错误。 应用JAVA build.gradle application.properties