public BookVO getBookByUniqueId(BookVO requestbookVO)
			throws LibraryManagementException {
		PreparedStatement preparedStatement = null;
		ResultSet resultSet = null;
		ConnectionFactory connectionFactory = new ConnectionFactory();
		BookVO bookVO = null;
		String sqlQuery = "select * from BOOK";
		if (requestbookVO.getId() != 0) {
			sqlQuery += " where ID ='" + requestbookVO.getId() + "'";
		}

		Connection connection = null;
		try {
			connection = connectionFactory.getConnection();
			preparedStatement = connection.prepareStatement(sqlQuery);
			resultSet = preparedStatement.executeQuery();
			while (resultSet.next()) {
				bookVO = new BookVO();
				bookVO.setId(resultSet.getInt("ID"));
				bookVO.setUniqueId(resultSet.getString("U_ID"));
				bookVO.setBookName(resultSet.getString("BOOK_NAME"));
				bookVO.setPublisher(resultSet.getString("PUBLISHER"));
				bookVO.setAuthor(resultSet.getString("AUTHOR"));
				bookVO.setSummary(resultSet.getString("SUMMARY"));
			}
		} catch (SQLException e) {
			throw new LibraryManagementException(ExceptionCategory.SYSTEM);
		} finally {
			if (resultSet != null) {
				try {
					resultSet.close();
				} catch (SQLException e) {
					throw new LibraryManagementException(
							ExceptionCategory.SYSTEM);
				}
			}
			if (preparedStatement != null) {
				try {
					preparedStatement.close();
				} catch (SQLException e) {
					throw new LibraryManagementException(
							ExceptionCategory.SYSTEM);
				}
			}
			connectionFactory.closeConnection(connection);

		}
		return bookVO;

	}