java - 如何在java中显示连接表?

标签 java mysql

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

首先,我已经显示了 1 个表中的数据,即: - 从 1 个表中选择数据 - 将结果插入到其实体中,并将​​每个结果插入到列表中 - 返回列表以查看并将行插入到jtable

(我正在使用DAO模式,它有工厂,接口(interface),实现,实体和 View )

如果我从其他表中选择数据怎么办?

这是我在实现中获取书籍的方法

 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;
}

然后在我看来:

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 类别。我可以执行查询,但如何将其应用到我的代码中?

希望您能帮忙,谢谢!

更新 这是连接表的查询

select title,category from book b
join category c on c.id = b.id_category    

通常情况下,如果我只选择 1 个表,我会将其插入到其实体中(图书表 -> 图书实体),那么我该如何处理这个多表呢?

谢谢

最佳答案

将 SQL 语句重写为所需的连接。这与java无关。这是基本的 SQL 知识。在根据结果集编写 Java 代码之前,首先通过外部工具(例如,如果您使用 MySql,则为 MySqlWorkbench)尝试您想要在 Java 中使用的 SQL 语句。

如果不知道您的表结构和两个表之间使用的外键,我无法提供更多帮助。

关于java - 如何在java中显示连接表?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50656252/

相关文章:

java - 如何从路径编码重建二叉树?

java - 将手机中的所有联系人填充到 ListView 后,如何获取选定的联系人姓名(将其传递到 Intent 中)?

java - 解释一下递归循环的打印输出顺序?

java - 一个 DELETE 和 INSERT 相对于多个 SELECT 和一个 UPDATE 有多昂贵?

Java代码自动化文档/演示

php - 如果互联网不可用,计算机能否运行本地主机(MAMP 等)作为备份 - 并更新服务器数据库?

php - 数据不更新

php - 对mySql命令获取meta信息?

mysql - SQL Server 和 MySQL 之间的 SUM() 函数差异

Java日历不清除一天中的小时