#7에서 만든 point table 가지고 놀거임
👀 [ 진짜 제작 순서 ]
- table 설계
- DAO 설계
- Controller
- View
- Module
- Controller가 Module 호출 후 Databae return받음
- Controller가 View(JSP)로 Data 를 이관함
=> 여기서 구조를 하나라도 어기면 안됨
⚡ MVC 형태의 template을 이용한 리스트 출력 - selectList
❗ template 은 close() ❌
- Controller
package api; //~import 생략 @Controller public class adminmain3 { @Resource(name="pointmodule") //pointmodule 모듈 호출하는놈 private point_module pm; //윗줄(@Resource~) 없으면 작동X , 해당 module을 필드에 객체 생성 후 적용 //data 전체 리스트 @GetMapping("/point_select.do") public String point_select(Model m) { try { List<pointdao> result = pm.all_list(); m.addAttribute("result",result); }catch(Exception e) { e.printStackTrace(); System.out.println("Data Module error!!"); } return null; } }
@Resource : 해당 프로젝트에 대한 module 호출하는 놈
- Module (point_module.java)package api; //~ import 생략 @Repository("pointmodule") public class point_module { //DB연결 @Resource(name="template") //name : dbconfig의 SqlSessionTemplate id private SqlSessionTemplate tm; //전체 포인트 내역 public List<pointdao> all_list(){ List<pointdao> data = new ArrayList<pointdao>(); //selectList로 데이터 전체를 가져옴 data = tm.selectList("datadb.point_select"); //mapper.xml의 가져올 query문 id //tm.close(); //얜 close X 큰일남 ㅠ return data; } }
@Repository : 호출 받는 놈
- View (point_select.jsp)<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <%@ taglib prefix="cr" uri="http://java.sun.com/jsp/jstl/core" %> <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>MVC 형태의 template을 이용한 리스트 출력</title> </head> <body> <ul> <cr:forEach var="lists" items="${result}"> <li>${lists.uid}</li> </cr:forEach> </ul> </body> </html>
⚡ MVC 형태의 template을 이용한 [사용자 아이디에 대한 한명의 포인트 내역] 출력 - selectOne
❗ selectList , selectMap을 제외하곤 배열이 아님 !! Array나 ArrayList 로 받으면 안됨
selectOne으로 핸들링시 dao를 활용하여 데이터를 이관받아야함
- Controller
@GetMapping("/point_one.do") public String point_one(Model m) { int nidx = 12; //강제로 nidx값 넣음..ㅋ try { pointdao result = pm.one_list(nidx); //인자값으로 던짐 System.out.println(result.uid); //DAO의 변수로 받음 - 해당 nidx에 맞는 id 출력됨(getUid() getter함수 로 받아도됨) m.addAttribute("result",result); }catch(Exception e) { System.out.println(e); System.out.println("module error"); } return null; }
- Module (point_module.java)//사용자 아이디에 대한 한명의 포인트 내역 public pointdao one_list(int z){ //받는 형식 pointdao 는 dao명칭 pointdao data = tm.selectOne("datadb.point_one",z); System.out.println(data); return data; }
모듈에서 모두 핸들링 해서 배열로 넘기는게 아닌 이상 controller에서 배열로 받을 수 없다!
- View 생략
'CLASS > SPRING,JSTL' 카테고리의 다른 글
#8-3 / ☔ - 통계차트 출력 페이지(list) , ajax(SPA)+do (0) | 2024.07.23 |
---|---|
#8-2 /☔ 통계 data 관련 project 만들기 - selectOne(ajax),insert (0) | 2024.07.23 |
#7-3 / mybatis DB연결 - 포인트 (insert, select ,select one,delete) (1) | 2024.07.22 |
#7-2 / mybatis(ibatis)를 이용 DAO + config,mapper,xml DB연결 (1) | 2024.07.22 |
#7-1 / Mybatis 설치 및 Setting (0) | 2024.07.19 |