У меня есть 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 заполнен, и я немного очистил код.
Edit: когда я смотрю на объект SqlRowSet в отладчике, вот что я вижу, чтобы знать, что он не работает
[! [введите описание изображения здесь] [2]] [2]
В консоли отладки не было выдано ошибок.
[! [[2]: https://i.stack.imgur.com/sSen0.png][2]][2]
Похоже, что есть проблема с оператором Sql, когда я изменяю свой запрос на SELECT * FROM PRODUCT_DIMENSIONS, я получаю 4 строки, однако, когда я пробую метод, чувствительный к внедрению SQL, я ничего не получаю, может ли это быть из-за того, как Java объединяет строки? Любой, кого я собираюсь изучить готовые заявления, чтобы увидеть, есть ли способ обойти это.