当前页面: 开发资料首页 → JSP 专题 → 关于从MySql数据库里面读取数据的问题,向大家请教. 
关于从MySql数据库里面读取数据的问题,向大家请教. 
摘要: 关于从MySql数据库里面读取数据的问题,向大家请教.  
由于第一次使用MySql,想简单的熟悉一下.完成的主要目的是从数据库中读取记录然后在页面上输出.
使用的工具是 Eclipse+MySql+Tomcat
遇到的问题是我的数据表中有9条记录,内容不一样.但在最后显示的时候只是把我最后一条记打印了9遍,不知道是什么问题,下面是我的代码,请大家给看看
1.获得数据库连接类
package joyzc;
import java.sql.*;
public class ConnectDBUtil {
private Connection conn;
public Connection getConnection()
{
  String driver="org.gjt.mm.mysql.Driver";
  String url="jdbc:mysql://localhost/test";
  try{
  Class.forName(driver);
  conn=DriverManager.getConnection(url,"root","1234");
  }catch(ClassNotFoundException e)
  {
  e.printStackTrace();
  }catch(SQLException e)
  {
  e.printStackTrace();
  }
  return conn;
}
public void closeConnection()
{
try{
if(conn!=null && !conn.isClosed())
{
conn.close();
}
}catch(SQLException e)
{
e.printStackTrace();
}
}
}
2.JavaBean
package joyzc;
import java.io.*;
public class ValueObject implements Serializable{
private Integer ID;
private String username;
private String password;
public Integer getID() {
return ID;
}
public void setID(Integer id) {
ID = id;
}
public String getPassword() {
return password;
}
public void setPassword(String password) {
this.password = password;
}
public String getUsername() {
return username;
}
public void setUsername(String username) {
this.username = username;
}
}
3.数据库操作DAO
package joyzc;
import java.sql.*;
import java.util.*;
public class SelectCommandDAO {    
private Connection conn=null;
private PreparedStatement ps=null;
private ResultSet rs=null;
public ArrayList queryDB()
{
ArrayList list=new ArrayList();
ConnectDBUtil cdb=new ConnectDBUtil();
ValueObject vo=new ValueObject();
conn=cdb.getConnection();
String sql="select * from fortest";
try{
ps=conn.prepareStatement(sql);
rs=ps.executeQuery();
while(rs.next())
{
            vo.setID(rs.getInt(1));
            vo.setUsername(rs.getString(2));
            vo.setPassword(rs.getString(3));
list.add(vo);
}
//vo=null;
//cdb.closeConnection();
}catch(SQLException e)
{
e.printStackTrace();
}
return list;
}
}
4.显示页面index.jsp
<%@ page language="java" import="java.util.*" pageEncoding="gb2312"%>
<%@ page import="joyzc.ValueObject"%>
 HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
  <head>       
  </head>  
  <body>  
 
   
     <%
         ArrayList list=select.queryDB();
         Iterator it=list.iterator();
         while(it.hasNext())
         {
             vo=(ValueObject)it.next();
             out.println(vo.getID());
             out.println(vo.getUsername());
             out.println(vo.getPassword());
         }   
         
                 
     %>
  </body>
自己先顶一下
把ValueObject vo=new ValueObject()这句放到while循环中。
ok many thanks:)