⚡ MVC 형태의 template을 이용한 리스트 출력 - selectList ❗ template 은 close() ❌
- Controller
package api;
//~import 생략@Controllerpublicclassadminmain3{
@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!!");
}
returnnull;
}
}
@Resource : 해당 프로젝트에 대한 module 호출하는 놈
- Module (point_module.java)
package api;
//~ import 생략@Repository("pointmodule")publicclasspoint_module{
//DB연결@Resource(name="template")//name : dbconfig의 SqlSessionTemplate idprivate 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><metacharset="UTF-8"><title>MVC 형태의 template을 이용한 리스트 출력</title></head><body><ul><cr:forEachvar="lists"items="${result}"><li>${lists.uid}</li></cr:forEach></ul></body></html>
요렇게 출력댐
controller에 딱 이렇게 MVC형태만 들어감
⚡ 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");
}
returnnull;
}
-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에서 배열로 받을 수 없다!