Sachin Ambalkar
Sachin Ambalkar

Reputation: 353

Mybatis "desc tablename" not working. Getting error as "The error occurred while setting parameters"

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 : enter image description here

Upvotes: 0

Views: 424

Answers (1)

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

Related Questions