JAVA数据库查询问题

来源:百度知道 编辑:UC知道 时间:2024/05/23 17:00:05
package DB;

import java.sql.*;
import java.util.ArrayList;

import Form.EmpModel;
import Form.UserModel;
import JDBC.DB;

public class QueryAllDAO {

DB db = new DB();// 实例化一个DB类的对象
Connection con = db.getConnection();
PreparedStatement stmt = null;// 创建数据操作对象
ResultSet rs = null;// 创建结果集对象
EmpModel e=new EmpModel();
ArrayList <EmpModel>a=new ArrayList<EmpModel>();

public ArrayList <EmpModel>query ()throws SQLException
{

try {

stmt = con.prepareStatement("select * from employee ");
rs = stmt.executeQuery();
while(rs.next()){

e.setName(rs.getString("name"));
e.setSex(rs.getString("sex"));
e.setAge(rs.getInt("age"));
e.setTel(rs.getString("tel"));
a.add(e);

}

}

stmt = con.prepareStatement("select * from employee ");
rs = stmt.executeQuery();
while(rs.next()){
EmpModel e=new EmpModel();
e.setName(rs.getString("name"));
e.setSex(rs.getString("sex"));
e.setAge(rs.getInt("age"));
e.setTel(rs.getString("tel"));
a.add(e);
}
每条记录应该是一个EmpModel对象,你那样写实际上是一个对象保存一条数据,rs.next之后继续用同一个EmpMode来保存 所以是最后一个.

这句话:EmpModel e=new EmpModel();
放在while(rs.next()){
的下面