둘러보기 생략.
 

Queryservice 질문입니다.

질문이 2가지 있습니다.

(queryservice) 에서 아래와 같이 Mapping XML 정의하였습니다.

(query id="findTotalCountByPk")
(statement)
(![CDATA[
SELECT count(*)
FROM BILL_CUSTOMER billCustomer
]])
(/statement)
(/query)

질문 1 : xxxDAOImpl 로직에서 findTotalCountByPk 를 불러와서 결과값을 구해오는 방법...

질문 2 : query id 를 AbstractDAO 명명 규칙에 맞게 findXXX 이런식으로 말고 다르게 해줘도
코드상에서 쿼리문을 불러올수 있는지...

간단히 카운트 구해오는거 테스트하는건데...ㅜ 처음하는거라 내공이 부족하네요..
참고로 GenericDaoQuery 상속받아서 구현중입니다...

제가 구현한건 아래와 같습니다.

....
....

@Repository("billCustomerDao")
public class BillCustomerDaoQueryImpl extends GenericDaoQuery implements BillCustomerDao {

@Resource
IQueryService queryService;

@Resource
IPropertiesService propertiesService;

@PostConstruct
public void initialize(){
super.setQueryService(queryService);
super.setPropertiesService(propertiesService);
}

public int getTotalCount() throws Exception {

// 이부분....

return 0;
}
}

답변드립니다,,

질문1
구현하시 소스부분에서 //이부분 아래에 다음의 로직을 추가 하면 됩니다. 간단히 소스 내용을 설명 드리면, getQueryService를 통해 queryID를 직접 호출할수 있고 Collection
형태로 리턴된 값을 cnt alias 로 값을 가져오는 로직입니다,,

Collection countCollection = getQueryService().find("findTotalCountByPk", new Object[] {});

Iterator countItr = countCollection.iterator();
if (countItr.hasNext()) {
Map countMap = (Map) countItr.next();

int count = new Integer(countMap.get("cnt").toString()).intValue();
return count;
}
return 0;

질문 2: 위의 소스로 의문이 해결되었을거로 생각됩니다,,

또 다른 질문있으시면 질문해주시고요,, 감사합니다,,

답변 감사합니다. ㅠㅠ

질문 하나 더 올렸습니다.. 부탁드려요.