Javabean片段:
public List queryAllStu() {
List stus = new ArrayList();
try {
pstmt = conn.prepareStatement("select * from studentinfo");
ResultSet rs = pstmt.executeQuery();
while (rs.next()) {
stuInfo stu = new stuInfo();
stu.setId(rs.getInt(1));
stu.setNicheng(rs.getString(2));
stu.setTruename(rs.getString(3));
stu.setXb(rs.getByte(4));
if (rs.getDate(5) != null) {
stu.setCsrq(rs.getDate(5).toString());
}
stu.setZy(rs.getString(6));
if (rs.getString(7) != null) {
stu.setKc(rs.getString(7).split("&"));
}
if (rs.getString(8) != null) {
stu.setXq(rs.getString(8).split("&"));
}
stu.setBz(rs.getString(9));
stus.add(stu);
}
return stus;
} catch (SQLException e) {
e.printStackTrace();
return null;
}
}
stuinfo:
private int id;
private String nicheng;
private String truename;
private byte xb;
private String csrq;
private String zy;
private String[] kc = { "" };
private String kcs = "";
private String[] xq = { "" };
private String xqs = "";
private String bz;
jsp页面:
<body>
<jsp:useBean id="stuInfoService" class="com.nefu.service.stuInfoService"></jsp:useBean>
<%
List stus=stuInfoService.queryAllStu();
if(stus==null)
out.print("null");
else
out.print(stus.size());
%>
</body>
数据库有数据但每次都返回null不知道为什么。
看一下你的ResultSet 有没有获取到数据,返回空有可能sql查询出异常或者while里面遍历出异常了,看一下你的控制台有没有报错,
pstmt = conn.prepareStatement("select * from studentinfo");
ResultSet rs = pstmt.executeQuery();
现在在这里查看,rs中是否有数据。
估计是抛出异常了,,,,
题主在后台用main测试一下这个方法能不能正常运行“ queryAllStu()”
jdbc的jar包出问题了,无法识别byte类型变量。
应该是在获取数据库数据后set到对象中的时候报错了,进入catch返回null