Spring select * from table /where =id

HOHO·2023년 3월 30일

Spring

목록 보기
6/15

@Autowired
->
Spring 데이터 받아오기

select * from table로 테이블전체데이터 조회하기

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로 출력


where 조건검색

Mapper.xml

  	select * from member where id=#{id}
  	</select> 

id값 조건검색 쿼리문

Mapper.java

public LoginVO memDetail(LoginVO member);

로그인정보들을 받는 Mapper 인터페이스에 추상메서드를 만들어 주고

Service

public LoginVO memDetail(LoginVO member);

서비스 인터페이스에도 추상메소드 추가

ServicImpl

@Override
	public LoginVO memDetail(LoginVO member) {
		return lm.memDetail(member);
	}

Implment클래스에 구현메소드 생성, Mapper의 정보들을 받는다

@Controller

데이터베이스에 등록되어있는 회원목록의 ID를 클릭하면 해당회원의 상세페이지로 이동하는 것을 구현해보자

@RequestMapping(value = "/adminDetail", method = RequestMethod.GET)
	public String memDetail(Model model, LoginVO member) {
		model.addAttribute("memDe", ls.memDetail(member));
		return "member/adminDetail";
	}

결과

아직까진 할만한데 POST넘어가면 머리터질까 걱정이다...

profile
기계 그잡채가 되고싶다

0개의 댓글