SQL Неинициализированная ошибка при выполнении класса SQL Builder - MyBatis Springboot - PullRequest
0 голосов
/ 23 марта 2020

Я создал оператор SQL, используя конструктор myBatis SQL, но я собираюсь найти документацию о том, как выполнить строку после ее создания. В настоящее время у меня есть следующее:

CONTROLLER:

@GetMapping("/simpleQuery/{schema}/{fromTable}")
    public List <Object> getAllDataFromTable (@PathVariable String schema, @PathVariable String fromTable){
        //return queryMapper.getSimpleQueryResults(schema, fromTable);
        return queryService.selectDataFromTable(schema, fromTable);
    }

SERVICE - где строится SQL строка

public List<Object> selectDataFromTable(String schema, String fromTable){
        String selectDataFromTable = new SQL(){{
            SELECT ("*");
            FROM (schema + "." + fromTable);
        }}.toString();
        return queryMapper.getSimpleQueryResults(selectDataFromTable);
    }

 System.out.println(selectDataFromTable);

Я напечатал SQL Выведите строку на консоль, и она будет выглядеть следующим образом:


SELECT * 
FROM DB.SOMETABLENAME

ОБНОВЛЕНИЕ: Я также попытался создать строку sql, например:

 String selectDataFromTable = "SELECT * FROM " + schema +"." + fromTable;

, чтобы запрос был единым строка, но я все еще получаю те же результаты / ошибка

MAPPER - sql строка обрабатывается

 @Select("#{sql}")
    List <Object> getSimpleQueryResults(String sql);

Запрос выполняется, но возвращается ошибка:

Invalid SQL type: sqlKind = UNINITIALIZED

Так как же получить строку SQL для выполнения с использованием mybatis в Springboot?

ПРИМЕЧАНИЕ. Я использую аннотацию, а не XML.

Спасибо

...