Я новичок в 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;
}
, а затем, на мой взгляд:
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 таблицу, я вставлю еек его сущности (book book -> book entity), так как мне справиться с этим с несколькими таблицами?