아래와 같이 회원 정보와 매출을 jdbctemplate로 return하려고한다.
여기서 코드는 아래와 같다.
다만 우리는 기존 select에서 별칭으로 count(custno)인 count를 같이 return을 해야 한다.
return시 사용할 RowMapper를 기존과 동일하게 사용할 수 없다.
그러므로 우리가 해야할 것은 다음과 같다.
1. count 별칭을 받을 변수를 VO에 추가
2. custno, custname, grade, count(별칭)을 반환할 RowMapper 클래스를 생성
그럼 우선 VO와 getter and setter를 진행하자
그다음 두번째 DAO에 custno, custname, grade, count(별칭)을 반환할 RowMapper 클래스를 생성한다.
그런데 여기서 의문? BoardRowMapper에 member.setCount를 추가하면 안되는지? 하고 의문점을 가질 수 있다.
그러나 그렇게 하면 일반 list를 출력할 때 맞지 않으므로 SQL 구문 오류가 발생한다.
그러므로 번거로우더라도 새로운 BoardRowMapper 클래스를 만들어서 추가를 해줘야한다.
위와 같이 추가하고 SQL문도 아래와 같이 작성한 후 memberSale 메소드도 만들어주면
private final String MEMBER_SALE = "select m1.custno, m1.custname, m1.grade, sum(m2.price) as count from member_tbl_02 m1"
+ " join money_tbl_02 m2 on m1.custno=m2.custno group by m1.custno, m1.custname, m1.grade order by count desc";
public List<MemberVO> memberSale(MemberVO vo){
System.out.println("===> Spring JDBC접속 memberSale()");
return jdbcTemplate.query(MEMBER_SALE, new BoardRowMapper1());
}
아래와 같이 정상 출력이 될 수 있게되어진다.
'[웹개발] > Spring 개념' 카테고리의 다른 글
[스프링개념] tiles를 사용해보자. (0) | 2020.01.04 |
---|---|
[마이바티스] SQL 동적 처리 (0) | 2019.12.29 |
[스프링 개념] 스프링 Project import/export 방법(2) (0) | 2019.12.05 |
[스프링 개념] 스프링 Project import/export 방법(1) (0) | 2019.12.05 |
[스프링 개념] @ModelAttribute의 값이 list로 넘어가질 않을 때 (0) | 2019.12.05 |