Java Tutorial/Database/JDBC Logging
Logging JDBC Driver Operations
<source lang="java">
import java.io.PrintWriter; import java.sql.Connection; import java.sql.DriverManager; import java.sql.ResultSet; import java.sql.ResultSetMetaData; import java.sql.Statement; public class Main {
public static void main(String[] args) throws Exception { Connection conn = getHSQLConnection(); conn.setAutoCommit(false); Statement st = conn.createStatement(); try { st.executeUpdate("create table survey (id int,name varchar(30));"); st.executeUpdate("insert into survey (id,name ) values (1,"nameValue")"); st.executeUpdate("insert into survey (id,name ) values (2,"nameValue")"); // commits all the transactions conn.rumit(); } catch (Exception e) { // cancel (roll back) all the transactions conn.rollback(); // to see what went wrong e.printStackTrace(); } st = conn.createStatement(); ResultSet rs = st.executeQuery("SELECT * FROM survey"); outputResultSet(rs); rs.close(); st.close(); conn.close(); } private static void outputResultSet(ResultSet rs) throws Exception { ResultSetMetaData rsMetaData = rs.getMetaData(); int numberOfColumns = rsMetaData.getColumnCount(); for (int i = 1; i < numberOfColumns + 1; i++) { String columnName = rsMetaData.getColumnName(i); System.out.print(columnName + " "); } System.out.println(); System.out.println("----------------------"); while (rs.next()) { for (int i = 1; i < numberOfColumns + 1; i++) { System.out.print(rs.getString(i) + " "); } System.out.println(); } } private static Connection getHSQLConnection() throws Exception { Class.forName("org.hsqldb.jdbcDriver"); String url = "jdbc:hsqldb:mem:data/tutorial"; DriverManager.setLogWriter(new PrintWriter("yourFileName.log")); return DriverManager.getConnection(url, "sa", ""); }
}</source>
//Content in yourFileName.log DriverManager.getConnection("jdbc:hsqldb:mem:data/tutorial") trying driver[className=org.hsqldb.jdbcDriver,org.hsqldb.jdbcDriver@19efb05] getConnection returning driver[className=org.hsqldb.jdbcDriver,org.hsqldb.jdbcDriver@19efb05]