⚡ 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;
}
}
⚡ 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에서 배열로 받을 수 없다!