Mybatis "desc tablename" не работает. Получение ошибки как «Произошла ошибка при настройке параметров» - PullRequest
0 голосов
/ 17 апреля 2019

Queries.xml

<select id="getDBDetails" parameterType="String" resultType="java.util.LinkedHashMap">
                desc ${value}
</select>

MainRunner.java

 List<k> list=commonQuery.getDataFromDB("getDBDetails","TABLENAME");

Приведенный выше код отлично работает для других запросов.

Но для 'desc TABLENAME' это не работает.

Я получаю следующее исключение: enter image description here

1 Ответ

1 голос
/ 17 апреля 2019

DESCRIBE не является допустимым оператором SQL. Это команда SQL * Plus, поэтому вы не можете выполнить ее через JDBC.

Если вы хотите получить метаданные таблицы через JDBC, используйте API метаданных, например:

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");
}

Подробнее см. документация .

...