问题描述
我有 getBookByResultSet
方法,它通过 resultSet
和布尔参数 isDetailedBook
创建 Book 对象(true
如果我们想在用户点击 {{1 }} 按钮,view more
如果我们要显示所有书籍)。我正在使用 Builder Pattern 来设置所有属性。然后我可以在其他方法中使用 false
方法,例如 getBookByResultSet
、selectAllBooks()
:
selectBookByID()
公共类 BookDAOImpl 实现 BookDAO {
Book book = getMangaByResultSet(resultSet,false); // to get not detailed book
我的服务如下所示:
public Book getBookByResultSet(ResultSet resultSet,Boolean isDetailedBook) throws sqlException {
PublisherDAO publisherDAO = new PublisherDAOImpl();
AuthorDAO authorDAO = new AuthorDAOImpl();
GenreDAO genreDAO = new GenreDAOImpl();
Long id = resultSet.getLong("id");
String title = resultSet.getString("title");
String description = resultSet.getString("description");
// filling book to display in list for displayAllBookService
byte[] coverBytes = coverDAO.selectCoverByID(resultSet.getLong("cover_id"));
String cover = ImageManager.encodeBytetoString(coverBytes);
Book.Builder manga = new Book.Builder().setID(id)
.setTitle(title)
// additional fields filling to display single book displaySingleBookService
if (isDetailedBook) {
manga.setDescription(description)
.setPublisher(publisherDAO.selectPublisherByMangaID(publisherID))
.setAuthors(authorDAO.selectAllAuthorsByMangaID(id))
.setGenres(genreDAO.selectGenresByMangalanguageID(id,sessionLanguageID))
}
return manga.build();
}
}
问题是我无法理解如何摆脱在 BookDAO 中使用服务调用另一个 DAO。或者就我而言,我可以就这样离开吗?
谢谢!
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)