Cómo obtener valores de parámetros de enlace del objeto Oracle JDBC PreparedStatement

Quiero implementar el registro de todas las declaraciones ejecutadas con parámetros de enlace reales cuando se utiliza Oracle JDBC. Y preferiría que pudiera crear dicho método de registro solo pasando el objeto PreparedStatement como parámetro.

Por ejemplo, he creado PreparedStatement y he enlazado un parámetro

PreparedStatement ps = conn.prepareStatement(
    "SELECT * FROM employees WHERE employee_id = ?");
ps.setInt(1,1);

Ahora me gustaría poder obtener de ps la declaración SQL real "SELECCIONAR * DE los empleados DONDE use_id = 1" que podría poner en el archivo de registro.

Hasta ahora he encontrado que puedo usar

((oracle.jdbc.driver.OracleStatement) ps).getOriginalSql()

Llegar

SELECT * FROM employees WHERE employe_id = ?

¿Ahora necesito alguna forma de obtener la lista de variables de enlace actuales de ps para poder reemplazar? con valores de parámetro de enlace.

Intenté buscar en ps.getClass (). GetDeclaredFields () y ps.getClass (). GetSuperclass (). GetDeclaredFields () pero hasta ahora no he podido encontrar el lugar donde se almacenan los valores de los parámetros de enlace y sus tipos.

¿Alguna sugerencia donde buscarlos?

Respuestas a la pregunta(2)

Su respuesta a la pregunta