Вы можете выполнить запрос SQL UPDATE с помощью метода .select (), а запрос SQL SELECT - с помощью метода .update ().
Так почему существуют 2 разных метода?
Метод update возвращает одно число;это число представляет количество измененных / созданных строк.
Метод select возвращает набор результатов, который похож на небольшую таблицу: в нем есть ряд (набранных и именованных) столбцов, и вы можете просмотреть набор результатовполучение значений строки каждый раз.
На практике выполнение оператора SELECT SQL с помощью .update () запустит select (и если этот select каким-либо образом записывает данные в БД, например, потому что вы запускаете SELECT).NEXTVAL ('someSequence'), эти эффекты действительно имеют место, но вы получаете 0 обратно, потому что он не изменил / не добавил ни одной строки в какие-либо таблицы. Если вы запускаете UPDATE SQL через .select (), обновления проходят, и выполучить обратно пустой набор результатов или, возможно, набор результатов с 1 столбцом некоторого числового типа и одной строкой, в которой одно значение этой строки равно количеству обновлений. Это зависит от драйвера JDBC.
Естьдругой метод (execute), который ничего не возвращает. То же самое применимо и здесь: если вы запускаете UPDATE с помощью этого метода, он все еще работает, вы просто не получитеupdatecount back.
Мой совет: используйте .select для всего этого и напишите хороший рендерер, который сообщает о результатах обратно пользователю.
Если вы хотите исследовать некоторый код, которыйвсе это уже сделано, посмотрите на консоль h2 .