I need a parser that should return me column names with their corresponding table names in the format
column_name table_name
Preferably a java library, that can make the implementation easier as I dont want to get into all the nuances of SQL parsing.
regards,
解决方案
If you have a connection to the database, you can do that using a prepared statement:
String sql = "....";
PreparedStatement pstmt = connection.prepareStatement(sql);
ResultSetMetaData meta = pstmt.getMetaData();
Then you can use ResultSetMetaData.getColumnCount() and getColumnName(int) to retrieve the column names. If your JDBC driver supports it, you can even get the underlying table name using getTableName(int)
Note that not all drivers support getting the metadata before actually executing the statement, you need to test that with the one you are using.