使用JDBC从postgresql获取消息响应

时间:2012-07-13 03:33:46

标签: java postgresql jdbc

我想询问在执行查询时如何从PostgreSQL获取消息响应。

来自PostgreSQL的消息响应我的意思是这样的,例如:

  • 查询成功返回:1行受影响,11 ms执行时间。
  • 错误:重复键值违反了唯一约束" pk_grouptab"

我正在使用JDBC。

我试图从Statement类的executeUpdate()获取它。但它只返回表示查询是否成功执行的int。

有什么办法吗?

1 个答案:

答案 0 :(得分:3)

我不确定你是否得到像

这样的陈述
  

查询成功返回:1行受影响,11 ms执行时间。

但您可以使用类似statement.executeUpdate()的替代方法,它返回受DML语句执行影响的行数。

来到另一个声明

  

错误:重复键值违反了唯一约束“pk_grouptab”

每当数据库中发生错误时,抛出SQLException,您需要显式捕获异常并处理它。 SQLException Api另外,请查看此link,其中简要介绍了JDBC中的异常处理。

如果要在执行查询后检查是否有任何警告,可以使用getWarnings并使用getMessage()等方法获取警告消息。

下面是骨架

 try {
     // execute sql statements here
     log.info(statement.getWarnings().getMessage());
 }
 catch(SQLException ex) {
     // an exception has occurred get all info related to the exception
     log.info(ex.getErrorCode());
     log.info(ex.getMessage());
     ex.printStackTrace();
 }
 finally {
     // close all open connections
 }

希望这会对你有所帮助。