当前页面: 开发资料首页 → 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:)