来自数据库的Java JTable数据
我是java新手,需要帮助在jtable中显示联接表/查询 首先,我显示了1个表中的数据,即: 从表1中选择数据 将结果插入其实体,并将每个结果插入列表 返回要查看的列表并将行插入jtable 我使用的是DAO模式,它有工厂、接口、实现、实体和视图 那么,如果我从其他表中选择数据呢 这是我在工具中获取书籍的get方法来自数据库的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
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);
}