![](/img/trans.png)
[英]Failed to determine a suitable driver class - Spring Boot- PostgreSQL
[英]Postgresql 14 connection failed - No suitable driver
我正在嘗試解決常見問題“如何添加 jdbc 驅動程序/找不到合適的驅動程序”
安裝了 Postgres 數據庫並且我的其他服務使用了 SpringBoot 連接到數據庫沒有問題:
spring:
jpa:
hibernate:
ddl-auto: create
database-platform: org.hibernate.dialect.PostgreSQLDialect
show-sql: true
datasource:
url: "jdbc:postgresql://localhost:5432/garage"
username: garage_owner
password: XXXX
但是我想通過 DriveManager 建立連接
PS 是的,DataSource 是更好的選擇,它有連接池等 :),但對於實驗我需要 DriveManager
我的 PostgreSQL 版本是 14
C:\Users\fessu>postgres --version
postgres (PostgreSQL) 14.4
我下載了 postgresql-42.4.0 jdbc 驅動程序,並將其添加到項目中:
現在預計將被加載:
這是幾行類代碼 - 我只需要建立連接:
public class JdbcMain {
final String URL = "jdbc:postgresql://localhost:5432/garage";
public static void main(String[] args) {
new JdbcMain().setConnectionByDriverManager();
}
public void setConnectionByDriverManager() {
//https://jdbc.postgresql.org/documentation/head/load.html
//Class.forName("org.postgresql.Driver");
try {
Connection connection = DriverManager.getConnection(URL, "garage_owner", "XXXX");
System.out.println("Connected!");
} catch (SQLException e) {
throw new RuntimeException(e);
}
}
但是我得到了眾所周知的錯誤:
Caused by: java.sql.SQLException: No suitable driver found for jdbc:postgresql://localhost:5432/garage
Postgresql 和 jdbc 版本兼容,url 正確。
我在手動設置 jdbc 時錯過了什么?
這是您在運行時遇到的問題。 執行演示類后,驅動程序類將不可用。 這源於您的項目設置。
將postgresql-42.4.0.jar
作為庫而不是作為模塊導出添加到項目中。 這樣,IntelliJ 將為您的實驗提供運行時范圍內的驅動程序。
我看到你在項目中有 Gradle。 在這樣的設置中,JDBC 驅動程序也可以由 Gradle 管理並添加
dependencies {
//… other dependencies
runtimeOnly 'org.postgresql:postgresql:42.4.0'
}
build.gradle
並讓 Gradle 完成這項工作。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.