Почему мой запрос jdbcTemplate не возвращает строк? - PullRequest
0 голосов
/ 12 января 2019

У меня есть API, созданный с помощью Spring-Boot. Запрос отправляет JSON в конечную точку, которая создает объект запроса. Объект запроса отправляет свой список объектов Product методу для обновления объекта productDimensions в Product.

Чтобы получить размеры, я отправляю строку Sku и строку Size в класс ProductRepository, который настроен с помощью jdbcTemplate (я думаю)

метод не дает сбоя, но SqlRowSet возвращает 0 строк, и я не могу понять это. Обратите внимание, что Java не является моим основным языком, поэтому я немного запутался.

Я пробовал https://spring.io/guides/gs/relational-data-access/ и несколько других SO ссылок

public class ProductRepository {
    @Autowired
    JdbcTemplate jdbcTemplate;
    public SqlRowSet findBySkuSize(String sku, String size) {
        return jdbcTemplate.queryForRowSet("SELECT * from PRODUCT_DIMENSIONS where SKU = '" + sku + "' and SIZE = '" + size + "'");
    }
}  

и это то, что я делаю, чтобы вызвать ProductRepository

private ProductRepository productRepository;
//constructor
public FreightCalculationService(ProductRepository productRepository) 
{
    this.productRepository = productRepository;
}
private Obj Method(params){
  Obj obj = new Obj()
  SqlRowSet dataRows = productRepository.findBySkuSize(params);

Я ожидаю, что данные из моей базы данных H2 появятся в виде строки в моем SqlResultSet, но когда я проверяю, есть 0 totalRows ..

Edit: мой jdbcTemplate заполнен, и я немного очистил код.

jdbcTemplatePropertys

Edit: когда я смотрю на объект SqlRowSet в отладчике, вот что я вижу, чтобы знать, что он не работает [! [введите описание изображения здесь] [2]] [2] В консоли отладки не было выдано ошибок.

[! [[2]: https://i.stack.imgur.com/sSen0.png][2]][2]

Похоже, что есть проблема с оператором Sql, когда я изменяю свой запрос на SELECT * FROM PRODUCT_DIMENSIONS, я получаю 4 строки, однако, когда я пробую метод, чувствительный к внедрению SQL, я ничего не получаю, может ли это быть из-за того, как Java объединяет строки? Любой, кого я собираюсь изучить готовые заявления, чтобы увидеть, есть ли способ обойти это.

...