每个字符串的方法

Method for each String

执行 sql 请求,从我的数据库中获取一些信息

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;

}

其他 class,其他方法,将信息从数据库返回到字符串,但是,在我的数据库中没有一个值满足我的要求,

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();
    }
} 

有一个问题。: 方法 sendMsg 需要 运行 对于 String chat_id 的几个值。此时它是 运行 来自 db 的最后一个值。 shell 我做什么?

您可以将它们存储到一个列表中,然后在另一个 class 中适当地读取它们,如下所示:

 public List<String> chat_id() {
     String userid = null;
     List<String> userids = new ArrayList<>();
     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");
             userids.add(userid);
             System.out.println("userid : " + userid);
         }
     } catch (SQLException e) {
         e.printStackTrace();
     }
     return userids;

 }

您可以像这样从列表中获取值:

for(int i = 0; i < userids.size; i++){
    String userid = userids.get(i);
}