如何在java中显示连接表?

时间:2018-06-02 11:04:28

标签: java mysql

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

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

(我正在使用DAO模式,它有工厂,接口,工具,实体和视图)

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

这是我在获取图书的工具中的get方法

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

希望你能帮忙,谢谢!

UPDATE 这是对连接表的查询

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

通常,如果我只选择1个表格,我会将其插入其实体(书籍表 - &gt;书籍实体),那么我该如何处理这个多表格呢?

由于

1 个答案:

答案 0 :(得分:0)

重新编写SQL语句,使其成为所需的连接。这与java无关。这是基本的SQL技术。在根据结果集编写java代码之前,首先尝试使用外部工具(例如MySqlWorkbench,如果使用的是MySql)在java中使用的SQL语句。

在不知道你的表结构和两个表之间使用的外键的情况下,我无能为力。