똑같은 삽질은 2번 하지 말자
MyBatis 에서 parameter를 두개 이상 주고 싶을때 본문
1. vo 객체에 담아서 하기(손이 좀 더가는방법)
2. Map을 이용해서 전달하기(좀더 쉽게 할 수 있다.)
이번에 이 Map 을 이용한 방법에 대해 다뤄보고자 한다.
@RequestMapping("admin_product_list.do")
public String aGetProductList(Model model,@RequestParam(value="currp",required=false)String currp,@RequestParam(value="pname",required=false)String pname) {
int totalPage;
Map<String,Object>map = new HashMap<String,Object>();
if(currp == null)
map.put("currp", 1);
else
map.put("currp", Integer.parseInt(currp));
if(pname == null)
pname = "";
map.put("pname", pname);
if(productService.getTotalRecord(pname)%5==0)
totalPage = productService.getTotalRecord(pname)/5 + 1;
else
totalPage = productService.getTotalRecord(pname)/5;
System.out.println("totalPage: " + totalPage);
System.out.println(map.get("currp") +" "+ map.get("pname"));
model.addAttribute("totalPage", totalPage);
model.addAttribute("productList", productService.getCurrentProductList(map));
return "admin/product/productList";
}
위 코드를 보면 map 을 선언해서 key를
<select id="getCurrentProductList" resultType="product" parameterType="Map">
<![CDATA[
SELECT * FROM (SELECT ROWNUM R,A.*
FROM (SELECT * FROM PRODUCT ORDER BY PSEQ) A)
WHERE R BETWEEN #{currp}*5-4 AND #{currp}*5
AND NAME LIKE '%'||#{pname}||'%'
]]>
</select>
parameterType="Map" 으로 받아서
Map의 key로 sql문에서 불러주면 된다.
'Spring > 忘れやすい概念' 카테고리의 다른 글
mybatis update문 무한로딩... (12) | 2019.07.31 |
---|---|
eclipse html jsp 줄 맞춤할때 더 거지같이 될때, (0) | 2019.07.21 |
Spring MVC Project Setting (0) | 2019.07.13 |
WebAppliCationContext vs ApplicationContext (0) | 2019.07.10 |
Spring 에서 ContextLoaderListener 쓰는 이유 (0) | 2019.07.09 |
Comments