개발/Spring

[Spring] ibatis 에서 SELECT * FROM 데이터 받기

hojak99 2017. 10. 12. 15:43

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 부분이다. 끝~





솔직히 보면 이해될 것이다.   

認定? 認定~


반응형