@Autowired
->
Spring 데이터 받아오기
Mapper.xml의 쿼리문 결과가 여러건일 경우
<select id="mList" resultType="org.hj.model.LoginVO">
select * from member
</select>
ArrayList를 쓰자
ArrayList<integer> score = new ArrayList();
데이터는 정수값만 있는게 아니므로
ArrayList<LoginVO> score = new ArrayList();
클래스 내부의 값들을 받는 클래스타입(Generic타입)을 넣자
이제 저걸 어디다 넣는지 보자
LoginMapper.xml와 연결되어있는 LoginMapper.java
public ArrayList<LoginVO> mList();
서비스에도 넣어주자
public interface LoginService {
public ArrayList<LoginVO> mList();
}
Implement된 클래스에도
@Service
public class LoginServiceImpl implements{
@Autowired
LoginMapper lm;
@Override
public ArrayList<LoginVO> mList() {
return lm.mList();
}
}
컨트롤러에서 받기
@Controller
public class MemberController {
@Autowired
LoginService ls;
@RequestMapping(value = "/admin", method = RequestMethod.GET)
public String memList(Model model) {
model.addAttribute("mList", ls.mList());
//jsp에 받은 배열데이터를 넘겨라
return "member/admin";
}
}
.jsp
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<table border="1">
<tr>
<td>아이디</td>
<td>주소</td>
<td>이메일</td>
<td>이름</td>
<td>나이</td>
</tr>
<c:forEach items="${mList}" var="admin">
<tr>
<td>${admin.id}</td>
<td>${admin.addr}</td>
<td>${admin.email}</td>
<td>${admin.name}</td>
<td>${admin.age}</td>
</tr>
</c:forEach>
</table>
데이터를 한줄씩 받아서 출력해야 하므로 c:forEach를 사용
JSTL을 사용하므로
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
태그라이브러리도 넣어준다

DB에 저장되어있던 목록들 select로 출력
select * from member where id=#{id}
</select>
id값 조건검색 쿼리문
public LoginVO memDetail(LoginVO member);
로그인정보들을 받는 Mapper 인터페이스에 추상메서드를 만들어 주고
public LoginVO memDetail(LoginVO member);
서비스 인터페이스에도 추상메소드 추가
@Override
public LoginVO memDetail(LoginVO member) {
return lm.memDetail(member);
}
Implment클래스에 구현메소드 생성, Mapper의 정보들을 받는다
데이터베이스에 등록되어있는 회원목록의 ID를 클릭하면 해당회원의 상세페이지로 이동하는 것을 구현해보자
@RequestMapping(value = "/adminDetail", method = RequestMethod.GET)
public String memDetail(Model model, LoginVO member) {
model.addAttribute("memDe", ls.memDetail(member));
return "member/adminDetail";
}
결과
아직까진 할만한데 POST넘어가면 머리터질까 걱정이다...