DB 에 있는 데이터들을 모두 가져와야 하는 상황이 생겼다. 나는 ArrayList 로 받으려고 한다.
이 때 아래와 같이 해주면 된다.
우선 ~.xml 에 쿼리문을 작성해놓았을 것이다.
<select id="selectAllStatisticData" resultClass="statisticsDto">
SELECT * FROM test ORDER BY day DESC
</select>
해당 코드는 날짜를 기준으로 제일 최신 순으로 정렬해 데이터를 반환하는 쿼리문이다.
우선 여기서 확인해야할 부분은 resultClass 이다. 다른 블로그들에서는 resultMap 을 사용하지만 난 귀찮다. 그러므로 resultClass 를 사용한다. 물론 이 차이에 대해서 알고 있다^^
모르면 검색 기윽
resultClass 는 Dto 클래스로 가져오려는 데이터가 존재하는 테이블에 컬럼 명에 대한 변수들과 getter와 setter메소드가 존재한다.
알아서 다 넣어준다. 특급 칭찬~
이제 Dao 클래스를 확인하자. SqlMapClientTemplate 객체를 이용해 xml에서 쿼리문을 가져온다고 생각하자
@SuppressWarnings("unchecked")
public List<StatisticsDto> selectAllStatisticData(List<StatisticsDto> data) throws DataAccessException {
return (List<StatisticsDto>) commonSqlMapClientTemplate.queryForList("selectAllStatisticData", data);
}
여기서 봐야할 부분은 selectAllStatisticData() 메소드에 대한 매개변수 부분과, return ~ 코드이다. 그리고 queryForList 부분이다. 끝~
솔직히 보면 이해될 것이다.
認定? 認定~
반응형