Я сталкиваюсь с проблемой, когда добавляю java в sql

#java #sql

#java #sql

Вопрос:

Ну, я хочу обновить SQL-запрос фрагментом кода Java, но это не работает. Я не знаю, правильно ли я это делаю.

Вот мой код :

 String GICA_petrom_filter = "";

if (context.yoda_core_country.equals("ROU")) {
  GICA_petrom_filter = "AND NASSAS NOT IN (SELECT MAG FROM'"   context.link_GICA_PETROM_Schema   "'.PETROM)";
}
  

Могу ли я использовать подготовленный оператор? не уверен, что это эффективно…

Ответ №1:

Прежде всего, вы не должны объединять подобные строки в SQL, это действительно плохая привычка, это должно вам помочь https://www.baeldung.com/sql-injection

Попробуйте использовать конструкторы запросов или методы, описанные в статье, приведенной выше

И тогда вам не хватает пробела после

И NASSAS НЕ ВКЛЮЧЕН (ВЫБЕРИТЕ MAG ИЗ ‘»

измените его на :

И NASSAS НЕ ВКЛЮЧЕН (ВЫБЕРИТЕ MAG ИЗ ‘»

Но, как я уже сказал, вы не должны объединяться для создания подобных запросов 😉 Также попробуйте опубликовать ошибки, которые вы получаете в журнале, когда вы задаете вопрос, это очень помогает решить ваши проблемы!

Комментарии:

1. Спасибо за вашу помощь, также для sql-инъекции я использую talend, поэтому я не собираюсь сталкиваться с такого рода проблемами.

2. Приятно знать! это решило вашу проблему? или это все еще не работает? Если это так, вы можете пометить это как «отвеченный», если лучших ответов нет