Reputation: 353
Queries.xml
<select id="getDBDetails" parameterType="String" resultType="java.util.LinkedHashMap">
desc ${value}
</select>
MainRunner.java
List<k> list=commonQuery.getDataFromDB("getDBDetails","TABLENAME");
Above code works fine for other queries.
But it does not work for 'desc TABLENAME'.
I am getting following exception :
Upvotes: 0
Views: 424
Reputation: 15861
DESCRIBE
is not a valid SQL statement. It is a SQL*Plus command so you can't execute it via JDBC.
If you want to get table metadata via JDBC use metadata API like this:
Connection connection = ...;
DatabaseMetaData databaseMetaData = connection.getMetaData();
ResultSet columns = databaseMetaData.getColumns(null,null, tableName, null);
while(columns.next())
{
String columnName = columns.getString("COLUMN_NAME");
String datatype = columns.getString("DATA_TYPE");
String columnsize = columns.getString("COLUMN_SIZE");
String decimaldigits = columns.getString("DECIMAL_DIGITS");
String isNullable = columns.getString("IS_NULLABLE");
String is_autoIncrment = columns.getString("IS_AUTOINCREMENT");
}
See docmentation for details.
Upvotes: 1