要使用 Java 中的 Postgres JDBC 驱动程序获取导致 SQLException 的 sql 语句,请遵循以下步骤:
首先,确保已将 Postgres JDBC 驱动程序添加到项目的依赖项中。如果使用 Maven,请将以下依赖项添加到 pom.xml
文件中:
<groupId>org.postgresql</groupId>
<artifactId>postgresql</artifactId>
<version>42.3.1</version>
</dependency>
创建一个数据库连接,并将其设置为自动提交模式。
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
public class Main {
public static void main(String[] args) {
String url = "jdbc:postgresql://localhost:5432/mydatabase";
String user = "myuser";
String password = "mypassword";
try {
Connection connection = DriverManager.getConnection(url, user, password);
connection.setAutoCommit(true);
} catch (SQLException e) {
System.out.println("Error connecting to database: " + e.getMessage());
}
}
}
在尝试执行 SQL 查询时,使用 try-catch 语句捕获 SQLException。如果捕获到异常,可以通过 getSQLState()
和 getMessage()
方法获取有关错误的详细信息。
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
import java.sql.Statement;
public class Main {
public static void main(String[] args) {
String url = "jdbc:postgresql://localhost:5432/mydatabase";
String user = "myuser";
String password = "mypassword";
try {
Connection connection = DriverManager.getConnection(url, user, password);
connection.setAutoCommit(true);
String sql = "INSERT INTO mytable (column1, column2) VALUES ('value1', 'value2')";
Statement statement = connection.createStatement();
statement.executeUpdate(sql);
} catch (SQLException e) {
System.out.println("Error executing SQL: " + e.getMessage());
System.out.println("SQLState: " + e.getSQLState());
}
}
}
通过这种方式,您可以捕获导致 SQLException 的 sql 语句,并获取有关错误的详细信息。
领取专属 10元无门槛券
手把手带您无忧上云