简单描述下:简单的小步骤,用DAO操作数据库,
查询结果用list接口,for循环输出,
问题出在输出上,查询的应该是数据库标的全部数据,只是输出了数据库的全部数据记录,这表共有18条记录,结果输出了18条,但都是输出的list链表的最后一位索引,没有报错,推算是我逻辑上的错误,运行单条通过ID查询可任意正常显示.请前辈指教!
查询结果如下:
------------------------------
这是查询结果:
ID:18name:测试User
ID:18name:测试User
ID:18name:测试User
ID:18name:测试User
ID:18name:测试User
ID:18name:测试User
ID:18name:测试User
ID:18name:测试User
ID:18name:测试User
ID:18name:测试User
ID:18name:测试User
ID:18name:测试User
ID:18name:测试User
ID:18name:测试User
ID:18name:测试User
ID:18name:测试User
ID:18name:测试User
ID:18name:测试User
-------------------------------------------------------------------------------------------------------------这是DAO类;
package com.jsp.DAO;import java.sql.*;
import java.util.*;
public class UserDAO {
public List getUser(){
List<User> list = new ArrayList<User>();
Connection con = Conn.getcConnection();
try {
PreparedStatement ps= con.prepareStatement("select * from users");
ResultSet rs=ps.executeQuery();
while (rs.next()) {
User uss= new User();
uss.setUserId(rs.getInt(1));
uss.setUsername(rs.getString(2));
uss.setPassword(rs.getString(3));
uss.setEmail(rs.getString(4));
uss.setGrade(rs.getInt(5));
list.add(uss);
}
//这里要关闭数据库
rs.close();
ps.close();
con.close();
} catch (SQLException e) {
e.printStackTrace();
}
return list;
}
------------------------------------------------------------------------------------------------------------
这是测试类public static void main(String[] args) {
UserDAO dao = new UserDAO();
List<User> list = dao.getUser();
for(int j = 0; j < list.size();j++){
User us = list.get(j);
System.out.println("ID:"+us.getUserId()+"name:"+us.getUsername());
}
}
——————————————————————————————————————————————————————
通过单条ID查询输出结果:
---------------------------
id:1 Name:admin
---------------------------
查询结果用list接口,for循环输出,
问题出在输出上,查询的应该是数据库标的全部数据,只是输出了数据库的全部数据记录,这表共有18条记录,结果输出了18条,但都是输出的list链表的最后一位索引,没有报错,推算是我逻辑上的错误,运行单条通过ID查询可任意正常显示.请前辈指教!
查询结果如下:
------------------------------
这是查询结果:
ID:18name:测试User
ID:18name:测试User
ID:18name:测试User
ID:18name:测试User
ID:18name:测试User
ID:18name:测试User
ID:18name:测试User
ID:18name:测试User
ID:18name:测试User
ID:18name:测试User
ID:18name:测试User
ID:18name:测试User
ID:18name:测试User
ID:18name:测试User
ID:18name:测试User
ID:18name:测试User
ID:18name:测试User
ID:18name:测试User
-------------------------------------------------------------------------------------------------------------这是DAO类;
package com.jsp.DAO;import java.sql.*;
import java.util.*;
public class UserDAO {
public List getUser(){
List<User> list = new ArrayList<User>();
Connection con = Conn.getcConnection();
try {
PreparedStatement ps= con.prepareStatement("select * from users");
ResultSet rs=ps.executeQuery();
while (rs.next()) {
User uss= new User();
uss.setUserId(rs.getInt(1));
uss.setUsername(rs.getString(2));
uss.setPassword(rs.getString(3));
uss.setEmail(rs.getString(4));
uss.setGrade(rs.getInt(5));
list.add(uss);
}
//这里要关闭数据库
rs.close();
ps.close();
con.close();
} catch (SQLException e) {
e.printStackTrace();
}
return list;
}
------------------------------------------------------------------------------------------------------------
这是测试类public static void main(String[] args) {
UserDAO dao = new UserDAO();
List<User> list = dao.getUser();
for(int j = 0; j < list.size();j++){
User us = list.get(j);
System.out.println("ID:"+us.getUserId()+"name:"+us.getUsername());
}
}
——————————————————————————————————————————————————————
通过单条ID查询输出结果:
---------------------------
id:1 Name:admin
---------------------------
最后还是谢谢你对我回答~