Java 如何使用jdbc获取一列中的所有行

Java 如何使用jdbc获取一列中的所有行,java,mysql,jdbc,Java,Mysql,Jdbc,我的团队表id和团队名称中有2列 这是我的方法 public List<String> getallteams() { Connection conn = null; ArrayList users = new ArrayList(); List<String> teams = new ArrayList(); try { conn = DBConnection.openConnection(); Stri

我的团队表id和团队名称中有2列

这是我的方法

public List<String> getallteams() {
    Connection conn = null;
    ArrayList users = new ArrayList();
    List<String> teams = new ArrayList();
    try {
        conn = DBConnection.openConnection();

        String sql = " SELECT * FROM teams  ";


        PreparedStatement stmt = conn.prepareStatement(sql);

        ResultSet rs = stmt.executeQuery();

        while (rs.next()) {

            String t1 = rs.getString(1);
            String t2 = rs.getString(2);
            String t3 = rs.getString(3);
            String t4 = rs.getString(4);
            String t5 = rs.getString(5);
            String t6 = rs.getString(6);


            String[] finalresult1 = {t1,t2,t3,t4,t5,t6 };



            teams = Arrays.asList(finalresult1);


                System.out.println(teams.get(1));
        }

    } catch (SQLException ex) {
        Logger.getLogger(UsersDaoImp.class.getName()).log(Level.SEVERE, null, ex);

    } finally {

        DBConnection.closeConnection(conn);
    }

    return teams;

}
public List getallteams(){
连接conn=null;
ArrayList用户=新建ArrayList();
列表团队=新建ArrayList();
试一试{
conn=DBConnection.openConnection();
String sql=“从团队中选择*”;
PreparedStatement stmt=conn.prepareStatement(sql);
ResultSet rs=stmt.executeQuery();
while(rs.next()){
字符串t1=rs.getString(1);
字符串t2=rs.getString(2);
字符串t3=rs.getString(3);
字符串t4=rs.getString(4);
字符串t5=rs.getString(5);
字符串t6=rs.getString(6);
字符串[]finalresult1={t1,t2,t3,t4,t5,t6};
teams=Arrays.asList(finalresult1);
System.out.println(teams.get(1));
}
}catch(SQLException-ex){
Logger.getLogger(UsersDaoImp.class.getName()).log(Level.SEVERE,null,ex);
}最后{
DBConnection.closeConnection(连接);
}
返回队;
}
我是mysqli的新手,所以在这里有点挣扎

但是它给了我java.sql.SQLException:列索引超出范围,2>1错误

您刚才说“我有2列”(id和名称),所以不要尝试检索第3、4、5和6列

while (rs.next()) {
    String id   = rs.getString(1);
    String name = rs.getString(2);
    System.out.println("id=" + id + ", name=" + name);
}
如果第二列的名称为
teamname
,并且需要所有团队名称的列表,请执行以下操作:

List<String> teams = new ArrayList<>();
try (Connection conn = DBConnection.openConnection()) {
    String sql = "SELECT teamname FROM teams";
    try (PreparedStatement stmt = conn.prepareStatement(sql);
         ResultSet rs = stmt.executeQuery()) {
        while (rs.next()) {
            teams.add(rs.getString("teamname"));
        }
    }
}

System.out.println("First team: " + teams.get(1));
List teams=new ArrayList();
try(Connection conn=DBConnection.openConnection()){
String sql=“从团队中选择团队名称”;
try(PreparedStatement stmt=conn.prepareStatement(sql);
ResultSet rs=stmt.executeQuery()){
while(rs.next()){
添加(rs.getString(“teamname”);
}
}
}
System.out.println(“第一队:“+teams.get(1));

你需要学会调试你的代码,然后你可以一行一行地检查代码,看看是怎么回事。表中没有6列。这是肯定的。你的代码有很多错误。明智的说法是:你的表没有代码所建议的6列。事实上,根据错误消息,该表似乎只有一列。显示表格定义并解释您试图完成的任务。