결과물
oracle sys계정에서 test계정 생성
create user test1 IDENTIFIED by tiger;
grant DBA, connect to test1;
test 테이블 생성
CREATE TABLE "TEST1"."TEST"
( "NAME" VARCHAR2(20 BYTE) NOT NULL ENABLE,
"AGE" NUMBER(4,0) NOT NULL ENABLE,
"USERNUM" NUMBER(20,0) NOT NULL ENABLE
)
값 입력
INSERT INTO "TEST1"."TEST" (NAME, AGE) VALUES ('Hong', '20',1)
INSERT INTO "TEST1"."TEST" (NAME, AGE) VALUES ('Kim', '22',2)
INSERT INTO "TEST1"."TEST" (NAME, AGE) VALUES ('Park', '25',3)
src/main/java에 생성
패키지 com.project.controller -> HomeController (class)
패키지 com.project.service -> ProjectService (interface)
패키지 com.project.service.dao -> ProjectDAO (interface)
패키지 com.project.service.impl -> ProjectServiceImpl (class)
패키지 com.project.vo -> ProjectVO (class)
package com.project.vo;
import lombok.Getter;
import lombok.Setter;
@Getter
@Setter
public class ProjectVO {
private String name;
private int age;
private int usernum;
}
ProjectDAO
package com.project.service.dao;
import java.util.List;
import com.project.vo.ProjectVO;
public interface ProjectDAO {
List<ProjectVO> selectProjectList() throws Exception;
}
ProjectService
package com.project.service;
import java.util.List;
import com.project.vo.ProjectVO;
public interface ProjectService {
List<ProjectVO> selectProjectList() throws Exception;
}
ProjectServiceImpl
package com.project.service.impl;
import java.util.List;
import javax.inject.Inject;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
import org.springframework.stereotype.Service;
import com.project.service.ProjectService;
import com.project.service.dao.ProjectDAO;
import com.project.vo.ProjectVO;
@Service("ProjectService")
public class ProjectServiceImpl implements ProjectService{
@Autowired
private ProjectDAO projectMapper;
@Override
public List<ProjectVO> selectProjectList() throws Exception {
// TODO Auto-generated method stub
return projectMapper.selectProjectList();
}
}
HomeController
package com.project.controller;
import java.text.DateFormat;
import java.util.Date;
import java.util.List;
import java.util.Locale;
import javax.annotation.Resource;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import com.project.service.ProjectService;
import com.project.vo.ProjectVO;
import lombok.RequiredArgsConstructor;
/**
* Handles requests for the application home page.
*/
@Controller
@RequiredArgsConstructor
public class HomeController {
@Resource(name = "ProjectService")
private ProjectService projectService;
private static final Logger logger = LoggerFactory.getLogger(HomeController.class);
/**
* Simply selects the home view to render by returning its name.
*/
@RequestMapping(value = "/", method = RequestMethod.GET)
public String home(Locale locale, Model model) {
logger.info("Welcome home! The client locale is {}.", locale);
Date date = new Date();
DateFormat dateFormat = DateFormat.getDateTimeInstance(DateFormat.LONG, DateFormat.LONG, locale);
String formattedDate = dateFormat.format(date);
model.addAttribute("serverTime", formattedDate );
return "home";
}
@RequestMapping(value = "/project")
public String projectList(Model model) throws Exception {
List<ProjectVO> list = projectService.selectProjectList();
logger.info(list.toString());
model.addAttribute("list", list);
return "projectList";
}
}
src/main/resources 에 mapper 폴더 생성 후 Tb_Project_SQL.xml 생성
usernum기준으로 내림차순정렬(desc)
* 참고로 오름차순정렬은 asc (default값)
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.project.service.dao.ProjectDAO">
<select id="selectProjectList" resultType="projectVO">
SELECT * FROM TEST ORDER BY USERNUM DESC
</select>
</mapper>
src/main/webapp/WEB-INF/views에 projectList.jsp 생성
a태그로 메인페이지로 이동하는 링크생성
<%@ page contentType="text/html; charset=euc-kr" %>
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
<%@ page session="false" %>
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=euc-kr"/>
<title>Home</title>
</head>
<body>
<h1>Project List</h1>
<table border="1">
<thead>
<tr>
<th>번호</th>
<th>이름</th>
<th>나이</th>
</tr>
</thead>
<tbody>
<c:forEach var="item" items="${list}">
<tr>
<td>${item.usernum}</td>
<td>${item.name}</td>
<td>${item.age}</td>
</tr>
</c:forEach>
</tbody>
</table>
<a href="/">move to the main page</a>
</body>
</html>
src/main/webapp/WEB-INF/views에 있는 home.jsp에 a태그로 링크 생성
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
<%@ page session="false" %>
<html>
<head>
<title>Home</title>
</head>
<body>
<h1>
Hello world!
</h1>
<P> The time on the server is ${serverTime}. </P>
<!-- 추가됨 -->
<a href="project">move to list</a>
</body>
</html>
'Spring 게시판 기초' 카테고리의 다른 글
프로젝트 다운로드후 링크 눌렀을때 404 error (0) | 2022.10.05 |
---|---|
3. 웹에서 쓴 글 DB에 등록하기 (0) | 2022.10.05 |
1. Oracle 연동하기 (0) | 2022.10.01 |
0. 프로젝트 생성 (0) | 2022.10.01 |
댓글