Java怎么把数据库的数据搬到JTable?

2023-04-17 0 992

Java怎么把数据库的数据搬到JTable?

一、先写个查询数据库的方法从数据库获取数据

查询后,返回一个List集合

    /**
     * 查询方法
     * @return
     */
    public List<PhoneBook> selectData() {
        Connection conn = null;
        PreparedStatement ps = null;
        ResultSet rs = null;
        List<PhoneBook> pblist = new ArrayList<PhoneBook>();
        try {
            String sql = \"SELECT * FROM p_table;\";
            conn = DBconection.getConnection();
            ps = conn.prepareStatement(sql);
            rs = ps.executeQuery();
            while(rs.next()) {
                PhoneBook phonebook = new PhoneBook();
                phonebook.setName(rs.getString(\"name\"));
                phonebook.setTel(rs.getString(\"tel\"));
                phonebook.setNote(rs.getString(\"note\"));
                pblist.add(phonebook);
            }
        } catch (SQLException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }finally {
            try {
                DBconection.coles(null, ps, conn);
            } catch (Exception e2) {
                // TODO: handle exception
            }
        }
        return pblist;
    }

二、因为JTable是二维数据的形式,所以要将刚才返回的List集合转变为二维数组

转变完成后返回一个二维数组

/**
     * 将List集合转变为二维数组
     * @param pblist 查询后返回的List集合
     * @return
     */
    public Object[][] list2Array(List<PhoneBook> pblist){
//      List<PhoneBook> pblist = new ArrayList<PhoneBook>(); 不会传参
        Object[][] arrs = new Object[pblist.size()][];
        for(int i = 0;i<pblist.size();i++) {
            PhoneBook pb = pblist.get(i);
            arrs[i] = new Object[3];
            arrs[i][0] = pb.getName();
            arrs[i][1] = pb.getTel();
            arrs[i][2] = pb.getNote();
        }
        return arrs;
    }

三、直接将返回的二维数组赋值即可

public void showTable() {
        JPanel jp2 = new JPanel();
        String[] titles = {\"姓名\",\"电话\",\"备注\"};
        //实例化对象
        PhoneAccess pa = new PhoneAccess();
        //调用已经转好的二维数组
        Object[][] date = pa.list2Array(pa.selectData());
        table = new JTable(date,titles);
        table.setEnabled(false); //设置表格不可编辑
        JScrollPane jsp = new JScrollPane(table,JScrollPane.VERTICAL_SCROLLBAR_AS_NEEDED,JScrollPane.HORIZONTAL_SCROLLBAR_AS_NEEDED);
        jsp.setBounds(0, 30, 450, 200);
        jp2.add(jsp);
        jp2.setBounds(0, 30, 450, 200);
        jp2.setLayout(null);
        this.add(jp2);
    }

以上是《Java怎么把数据库的数据搬到JTable?》文章的全部内容,感谢你的支持!

以上就是《Java怎么把数据库的数据搬到JTable?》文章的全部内容了!

 

 

相关文章

发表评论
暂无评论
官方客服团队

为您解决烦忧 - 24小时在线 专业服务