jsp+JavaBean使用list读取数据库信息读取为空

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