簡體   English   中英

如何從Java連接中獲取查詢字符串?

[英]How to get query string from connection in Java?

我正在編寫一個嘗試記錄數據庫調用、連接到它的表單的方法,在查詢之后,有很多地方調用方法 connect() 開始和調用 cleanUp() 方法結束,我不能和不想修改每個地方。 所以順序是這樣的:

  Connection con = ...
  connect();
  s = con.createStatement();
  ResultSet rs = s.executeQuery(" select * from xyz ");
  rs.next();
  cleanUp();

有很多方法使用這個序列,那么我如何在 cleanUp() 中以某種方式從運行其查詢的所有方法中獲取 sql 查詢字符串 [在這種情況下:select * from xyz ],有沒有辦法獲得來自“con”的信息,con 對象是否知道它剛剛運行了什么查詢?

我建議您使用方面,AspectJ 非常適合這種情況。 一方面,一旦執行了受監視的方法,您就可以觸發行為。 以下是您可以查看的幾個示例: http : //www.yegor256.com/2014/06/01/aop-aspectj-java-method-logging.htmlhttps://mathewjhall.wordpress.com/2011/03 /31/tracing-java-method-execution-with-aspectj/

您可以在 MySQL 中從Statement.toString()獲取它。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM