Hej. Powiedzmy, że piszę sobie bibliotekę z książkami i chciałabym teraz filtrować książki po autorze książki. Czy taka metoda powinna być w BookDao czy powinno to być w serwisie? Obecnie trzymam kilka książek w pliku CSV, wiec wszystko mi jedno, ale gdybym w przyszłości chciała hibernate/mysql z milionem książek może hibernate/mysql ma jakieś wydajniejsze filtry i powinno to być w dao?
obecnie mam tak i chciałabym prosić jeszcze o radę czy nie lepiej nazwać tego BooksDao (bo chodzi o książki) ?
package dao;
import model.Book;
import java.util.List;
public interface BookDao {
List<Book> getAll() throws Exception;
boolean add(Book book) throws Exception;
boolean delete(int idBook) throws Exception;
}
oraz mam też tak z tym filtrowaniem po autorze ksiązki:
package service;
import dao.BookDao;
import model.Book;
import java.util.ArrayList;
import java.util.List;
public class BookService {
private BookDao bookDao;
public void setBookDao(BookDao bookDao) {
this.bookDao = bookDao;
}
public List<Book> getAll() throws Exception{
return bookDao.getAll();
}
public List<Book> getWrittenBy(String author) throws Exception {
List<Book> writtenBy = new ArrayList<Book>();
List<Book> books = bookDao.getAll();
for(Book b : books) {
if(b.getAuthor().equals(author))
writtenBy.add(b);
}
return writtenBy;
}
}