通过arraylist JAVA使用主键添加和检索MySql数据库数据

时间:2015-04-06 06:57:52

标签: java mysql jsp arraylist

我有一个像这样的mysql表

create table students(id varchar(20),
name varchar(20),
address varchar(255)
primary key(id));

我想在jsp中使用他的唯一ID显示每个学生的数据。我试过这样的

ArrayList<Object> student = new ArrayList<Object>();

      try {
           DB_Conn con = new DB_Conn();
           Connection c = con.getConnection();
           Statement statement = c.createStatement() ;
           ResultSet resultset = statement.executeQuery("select * from students");
           while(resultset.next()){
               student.add(resultset.getString(1));
               student.add(resultset.getString(2));
               student.add(resultset.getString(3));
           } 
        } catch (SQLException e){
              System.out.println(e.getMessage());
        }  
        return student;

现在我想使用他们唯一的ID显示每个学生的姓名和地址。怎么像这样下垂。如何从arraylist中检索特定的变量数据。

2 个答案:

答案 0 :(得分:0)

尝试使Student类具有idnameaddress作为其属性,然后添加学生对象

ArrayList<Student> studentList=new ArrayList<Student>();
String id=resultset.getString(1);
String name=resultset.getString(2);
String address=resultset.getString(3);
Student st=new Student(id,name.address);
studentList.add(st);

要在JSP中显示相同内容,您可以使用

<c:forEach var="i" items="${studentList}>
   ${i.name}<br>${i.id}<br>${i.address}
</c:forEach>

答案 1 :(得分:0)

有多种方法可以做到这一点 - 最常见的是

使用两个不同的Arraylist来存储名称&amp;学生地址

ArrayList<Object> nameList= new ArrayList<Object>();
ArrayList<Object> addressList= new ArrayList<Object>();

并使用 -

nameList.add(resultset.getString(2));
addressList.add(resultset.getString(3));

at i nameList.get(i)&amp;的特殊值int addressList.get(i)将为您提供特定学生的结果。