来自数据库的Java JTable数据

来自数据库的Java JTable数据,java,mysql,jdbc,Java,Mysql,Jdbc,我是java新手,需要帮助在jtable中显示联接表/查询 首先,我显示了1个表中的数据,即: 从表1中选择数据 将结果插入其实体,并将每个结果插入列表 返回要查看的列表并将行插入jtable 我使用的是DAO模式,它有工厂、接口、实现、实体和视图 那么,如果我从其他表中选择数据呢 这是我在工具中获取书籍的get方法 public List get(String find) { try { ps = db.connect().prepareStatement("SELE

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

首先,我显示了1个表中的数据,即:

从表1中选择数据 将结果插入其实体,并将每个结果插入列表 返回要查看的列表并将行插入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;
}
这很好,但我希望查询连接表,这样我就可以看到类别名称,而不仅仅是ID类别。我可以进行查询,但如何将其应用于我的代码

下面是对联接表的查询

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

通常,如果我只选择一个表,我会将它插入到它的entity book table->book entity中,那么如何处理多个表

我没有使用prepared语句,但这段代码在我这边有效

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

任何关于如何做到这一点的帮助/建议/线索都会非常有用,谢谢:你能作为总结澄清你的问题吗?我如何处理jave中的联合查询结果?因为如果它只有一个表,我会像上面的代码一样将结果插入到它自己的实体类中。有一整类的ORM库可以做像Hibernate这样的事情,它们并不简单。所以如果没有复杂的代码/使用库,就没有简单的方法来使用联接表?但是有一个简单的方法可以使用上面的1个表吗?还是我误解了?谢谢你的帮助,如果我有多行结果呢?如何将id和用户名插入列表并输出?谢谢:因为我需要在其他类上输出它,所以我需要将列表返回给该类。所以我想它需要一个数组里面的数组,对吗?谢谢我在上面的帮助下解决了这个问题:谢谢!
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);
        }