首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >数据库中的Java JTable数据

数据库中的Java JTable数据
EN

Stack Overflow用户
提问于 2018-06-03 01:09:50
回答 1查看 73关注 0票数 0

我是java新手,我需要在jtable中显示连接表/查询的帮助。

首先,我已经完成了一个表中数据的显示,这个表是:

  • 从1个表中选择数据
  • 将结果插入到其实体并将其中的每一个插入到列表
  • 将列表返回到要查看的列表并将行插入到jtable

我使用的是DAO模式,它有工厂、接口、实现、实体和视图。

那么,如果我从其他表中选择数据呢?

下面是我在获取图书实现中的get方法

代码语言:javascript
复制
 public List get(String find) {
    try {
        ps = db.connect().prepareStatement("SELECT * FROM books WHERE title like ? ");
        ps.setString(1, "%" + find + "%");

        status = db.execute(ps);
        if (status) {
            books = db.get_result();
            listBooks = new ArrayList<>();

            while (books.next()) {
                entity_books b = new entity_books();
                b.setId(books.getInt(1));
                b.setId_category(books.getInt(2)); 
                b.setTitle(books.getString(3));
                listBooks.add(b);
            }
            books.close();
            return listBooks;
        }
    } catch (SQLException e) {
        System.out.println(e.getMessage());
    }
    return null;
}

然后在我看来:

代码语言:javascript
复制
listBooks = booksDAO.get(find.getText());
    model = (DefaultTableModel) book_table.getModel();
    model.setRowCount(0);

    listBooks.forEach((data) -> {
        model.addRow(new Object[]{
            data.getId(),
            data.getId_category(),
            data.getTitle(),

        });
    });

这可以很好地工作,但我希望查询连接到表,这样我就可以看到类别名称,而不仅仅是ID类别。我可以执行查询,但如何将其应用于我的代码?

以下是对连接表的查询

代码语言:javascript
复制
select title,category from book b
join category c on c.id = b.id_category    

通常,如果我只选择一个表,我会将它插入到它的实体( book表-> book实体)中,那么我该如何处理多个表呢?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-06-03 01:39:08

我没有使用准备好的语句,但这段代码在我这一端可以工作。

代码语言:javascript
复制
String sql = "SELECT * FROM customer c JOIN company cmp ON c.company_idcompany = cmp.idcompany";

        ResultSet rs = stmt.executeQuery(sql);
        //STEP 5: Extract data from result set
        while (rs.next()) {
            //Retrieve this from customer table
            int id = rs.getInt("idcustomer");
            //Retrieve this from customer table
            String username = rs.getString("company_username");

            //Display values
            System.out.println("ID: " + id);
            System.out.println("Username: " + username);
        }
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/50659276

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档