Выполнить метод для всех String

При помощи запроса в БД, получаю значение

public String chat_id() {
    String userid = null;
try {
    
    PreparedStatement st = null;
    String query = "select chat_id FROM id";
    st = con.prepareStatement(query);
    rs = st.executeQuery();
    while (rs.next()) {
    
        userid = rs.getString("chat_id");
         System.out.println("userid : " + userid);
    }
} catch (SQLException e) {
    e.printStackTrace();
}
return userid ;

    }

в другом классе, в другом методе вывожу это в значение в String chat;

  public void sendMsg(){

        Login lgc= new Login();
        
      String chat = lgc.chat_id();
      String text = "test";
      
        SendMessage sendMessage = new SendMessage();         
        sendMessage.enableMarkdown(true);                           
        sendMessage.setChatId(chat);    
      //sendMessage.setReplyToMessageId(message.getMessageId());   
        sendMessage.setText(text);                                 
        try {
           execute(sendMessage);
        } catch (TelegramApiException e) {
            e.printStackTrace();
        }
    } 

Вот в чем вопрос, т.к. в базе данных, есть несколько chat_id то мне нужно, что бы метод sendMsg выполнялся для каждого из них. в данный момент, он выполняется для последнего значения. Как можно заставить его выполняться несколько раз?


Ответы (2 шт):

Автор решения: Ангелина Никонова

При помощи, вы получите только последнее поле

String query = "SELECT chat_id FROM id";

Поэтому посмотрите как работает MySQL оператор LIKE

→ Ссылка
Автор решения: Oleh Hilchenko

Метод chat_id возвращает вам стрингу с последним из результатов полученных из таблицы. Перепишите его так что бы он возвращал вам например лист ваших результатов полученных в этом методе. А уже в методе стенд месежд проитерируйтесь по листу и распечатайте все результаты.

→ Ссылка