Как я могу узнать, сколько строк возвращает запрос MySQL в Java?

Как я могу узнать, сколько строк возвращает запрос MySQL в Java?

Это не копирование, если вы хотите, чтобы люди тратили время на то, чтобы вам помогать, вам следует потратить время на написание более эффективных вопросов.

rodbv 19.01.2009 21:55
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
В компьютерном программировании биты играют важнейшую роль в представлении и манипулировании данными на двоичном уровне. Побитовые операции...
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Приходилось ли вам сталкиваться с требованиями, в которых вас могли попросить поднять тревогу или выдать ошибку, когда метод Java занимает больше...
Полный курс Java для разработчиков веб-сайтов и приложений
Полный курс Java для разработчиков веб-сайтов и приложений
Получите сертификат Java Web и Application Developer, используя наш курс.
1
1
1 183
3
Перейти к ответу Данный вопрос помечен как решенный

Ответы 3

Ответ принят как подходящий

Из jdbc faq:

.18. There is a method getColumnCount in the JDBC API. Is there a similar method to find the number of rows in a result set?

No, but it is easy to find the number of rows. If you are using a scrollable result set, rs, you can call the methods rs.last and then rs.getRow to find out how many rows rs has. If the result is not scrollable, you can either count the rows by iterating through the result set or get the number of rows by submitting a query with a COUNT column in the SELECT clause.

Я не думаю, что вы сможете, кроме, возможно, звонка ResultSet.last(), а затем ResultSet.getRow() - но я не знаю, сработает ли это на самом деле. Я всегда просто обрабатывал каждую строку за раз, а потом считал их.

Если вы используете CachedRowSet, вы можете узнать, сколько строк вернул ваш оператор, и выполнить итерацию в обоих направлениях, вперед и назад, с недостатком, заключающимся в том, что полный набор строк должен быть помещен в память, а не извлекаться динамически. здесь больше информации.

Другие вопросы по теме