Controller

package kr.or.ddit.controller.member;

import java.util.List;

import javax.inject.Inject;

import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;

import kr.or.ddit.service.IMemberService;
import kr.or.ddit.vo.MemberVO;
import lombok.extern.slf4j.Slf4j;

@Controller
@RequestMapping("/crud/member")
@Slf4j
public class CrudMemberController {

	@Inject
	private IMemberService service;
	
	@GetMapping(value="/register")
	public String crudMemberRegisterForm() {
		log.info("crudMemberRegisterForm() 실행..!");
		return "crud/member/register";
	}
	
	@RequestMapping(value="/register", method = RequestMethod.POST)
	public String crudMemberRegister(MemberVO member, Model model) {
		log.info("crudMemberRegister() 실행...!");
		service.register(member);
		model.addAttribute("msg", "등록이 완료되었습니다.");
		return "crud/member/success";
	}
	
**// 회원 리스트보기 메소드**
	@GetMapping(value="/list")
	public String list(Model model) {
		List<MemberVO> memberList = service.list();
		model.addAttribute("memberList", memberList);
		return "crud/member/list";
	}
}

Service

interface로 먼저 IBoardSerivce를 생성하고 한다.

package kr.or.ddit.service.impl;

import java.util.List;

import javax.inject.Inject;

import org.springframework.stereotype.Service;

import kr.or.ddit.mapper.MemberMapper;
import kr.or.ddit.service.IMemberService;
import kr.or.ddit.vo.MemberAuth;
import kr.or.ddit.vo.MemberVO;

@Service
public class MemberServiceImpl implements IMemberService {

	@Inject
	private MemberMapper mapper;
	
	@Override
	public void register(MemberVO member) {
		mapper.create(member);
		
		MemberAuth memberAuth = new MemberAuth();
		memberAuth.setUserNo(member.getUserNo());
		memberAuth.setAuth("ROLE_USER");
		
		mapper.createAuth(memberAuth);
	}
**// 회원 리스트보기 서비스**
	@Override
	public List<MemberVO> list() {
		return mapper.list();
	}

}

MemberMapper

package kr.or.ddit.mapper;

import java.util.List;

import kr.or.ddit.vo.MemberAuth;
import kr.or.ddit.vo.MemberVO;

public interface MemberMapper {

	public void create(MemberVO member);

	public void createAuth(MemberAuth memberAuth);

	public List<MemberVO> list();

}

Mapper

<?xml version="1.0" encoding="UTF-8"?>

<!DOCTYPE mapper
  PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
  "<https://mybatis.org/dtd/mybatis-3-mapper.dtd>">
 <mapper namespace="kr.or.ddit.mapper.MemberMapper">
 	<insert id="create" parameterType="memberVO" useGeneratedKeys="true">
 		<selectKey keyProperty="userNo" resultType="int" order="BEFORE">
 			select seq_member.nextval from dual
  		</selectKey>
		insert into member(
			user_no, user_id, user_pw, user_name, reg_date, upd_date
		)  values (
			#{userNo}, #{userId}, #{userPw}, #{userName}, sysdate, sysdate
		)
 	</insert>
 	
 	<insert id="createAuth" parameterType="memberAuth">
 		insert into member_auth(
 			user_no, auth
 		)values(
 			#{userNo}, #{auth}
 		)
 	</insert>
 	
**// 회원 리스트보기 쿼리**
 	<select id="list" resultType="memberVO">
 		select
 			user_no, user_id, user_pw, user_name, reg_date
 		from member
 		order by user_no desc
 	</select>
 	
 </mapper>

JSP 페이지

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<%@ taglib uri="<http://java.sun.com/jsp/jstl/core>" prefix="c" %>
<%@ taglib uri="<http://java.sun.com/jsp/jstl/fmt>" prefix="fmt" %>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
	<h2>List</h2>
	<a href="/crud/member/register">등록</a>
	
	<table border="1">
		<tr>
			<th align="center" width="60">번호</th>
			<th align="center" width="80">아이디</th>
			<th align="center" width="50">비밀번호</th>
			<th align="center" width="50">사용자명</th>
			<th align="center" width="180">작성일</th>
		</tr>
		<c:choose>
			<c:when test="${empty memberList }">
				<tr>
					<td colspan="5">조회하신 회원 정보가 존재하지 않습니다.</td>
				</tr>
			</c:when>
			<c:otherwise>
				<c:forEach items="${memberList }" var="member">
					<tr>
						<td align="center">${member.userNo }</td>
						<td align="center">
							<a href="/crud/member/read?userNo=${member.userNo }">
								${member.userId }
							</a>
						</td>
						<td align="left">${member.userPw }</td>
						<td align="right">${member.userName }</td>
						<td align="center">
							<fmt:formatDate value="${member.regDate}" pattern="yyyy-MM-dd HH:mm"/>
						</td>
					</tr>
				</c:forEach>
			</c:otherwise>
		</c:choose>
	</table>
</body>
</html>

회원의 List가 잘 출력되는 것을 확인할 수 있다.

Untitled