将数据库的表写入JTable里,显示TableDTO返回值为空。

将数据库的表写入JTable里,显示TableDTO返回值为空。可能是SQL语句写错了,但是找不到错误。下面是我写的将数据库的数据写入JTable中

public class VcdServiceImpl implements VcdService{
    @Override
    public TableDTO retrieveVcds(VcdRequest request) {
        StringBuilder sql = new StringBuilder();
        sql.append("select * from sm_vcd ");
        if(request.getSearchKey() != null && !"".equals(request.getSearchKey().trim())){
            sql.append("where sm_name like '%"+request.getSearchKey().trim()+"%' ");
        }
       sql.append("order by sm_num desc limit ").append(request.getStart()).append(",").append(request.getPageSize());
        Connection conn=null;
        PreparedStatement ps=null;
        ResultSet rs=null;
        TableDTO returnDTO=new TableDTO();
        try{
            conn= DBUtil.getConn();
            ps= conn.prepareStatement(sql.toString());
            rs=ps.executeQuery();
            //查询记录
            returnDTO.setData(fillData(rs));
            sql.setLength(0);
            sql.append("select count(*) from sm_vcd ");
            if(request.getSearchKey() != null && !"".equals(request.getSearchKey().trim())){
                sql.append("where sm_name like '%"+request.getSearchKey().trim()+"%'");
            }
            ps= conn.prepareStatement(sql.toString());
            rs= ps.executeQuery();
            while(rs.next()){
                int count=rs.getInt(1);
                returnDTO.setTotalCount(count);
            }
            return returnDTO;
        }catch (Exception e){

        }finally {
            DBUtil.closers(rs);
            DBUtil.closePs(ps);
            DBUtil.closeConn(conn);
        }

        return null;
    }

    private Vector> fillData(ResultSet rs) throws SQLException {
        Vector> data=new Vector<>();
        while (rs.next()){
            //处理查出的每一条记录
            Vector oneRecord=new Vector<>();
            int sm_num= rs.getInt("sm_num");
            String sm_name= rs.getString("sm_name");
            String sm_auther= rs.getString("sm_auther");
            int sm_lend= rs.getInt("sm_lend");
            int sm_buy= rs.getInt("sm_buy");
            int sm_amount= rs.getInt("sm_amount");
            oneRecord.addElement(sm_num);
            oneRecord.addElement(sm_name);
            oneRecord.addElement(sm_auther);
            oneRecord.addElement(sm_lend);
            oneRecord.addElement(sm_buy);
            oneRecord.addElement(sm_amount);
            data.addElement(oneRecord);
        }
        return data;
    }
}



img

  • 在这里打印一下异常看看,应该是出现异常了,你try-catch后,直接返回TableDTO = null了

img