这里我有一个user的对象,里面有userid,name,password的属性和get,set,toString方法
将数据库中的数据传到这个类里,然后用list来封装这个user类,然后用循环将list的值打印出来,
public List<user> selectuserinfo(){
// TODO Auto-generated method stub
PreparedStatement psta=null;
ResultSet rs=null;
//这里我写了数据库连接的一个类,直接引用
Connection conn=Connect.getConnection();
//int count=0;
try{
String sql="select * from user";
psta=conn.prepareStatement(sql);
rs=psta.executeQuery();
List<user> list=new ArrayList<user>();
while(rs.next()){
user user=new user();
user.setUserid(rs.getString(1));
user.setName(rs.getString(2));
user.setPassword(rs.getString(3));
//list.add(user);
//count++;
list.add(user);
}
//System.out.println(count);
System.out.println(list.toString());//后台打印看有没有封装,作为检测
return list;
}catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}finally{
if(rs!=null){
try{
//关闭存储查询结果的ResultSet对象
rs.close();
}catch (Exception e) {
e.printStackTrace();
}
rs = null;
}
if(psta!=null){
try{
//关闭负责执行SQL命令的Statement对象
psta.close();
}catch (Exception e) {
e.printStackTrace();
}
}
if(conn!=null){
try{
//将Connection连接对象还给数据库连接池
conn.close();
}catch (Exception e) {
e.printStackTrace();
}
}
}
return null;
}
下面就是在Httpservlet类中调用,在浏览器中呈现,今天我被这个搞了一番,所以来此做个笔记,警惕自己,也希望可以帮助各位,嘿嘿。。
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
// TODO Auto-generated method stub
request.setCharacterEncoding("UTF-8");
response.setContentType("text/html");
PrintWriter out = response.getWriter();
UserDao u=new UserDaoImp();//这里的UserDao我是一个接口,然后UserDaoImp是实现类
List<user> user1=u.selectuserinfo();
//HttpSession session=session.setAttribute("user1",user1);
//request.setAttribute("user1", user1);
for(int i=0;i<user1.size();i++){//通过循环来打印list中的对象
out.println("\n************************");
out.println(user1.get(i));
}
}