mybatis.org 사이트에서 유용한 예제들을 잘 보고 복사, 붙여넣기해서 사용한다.
XML 설정 시 DTD 파일 잘보고 설정해야 함.
BDAO.xml (예: 임의의 파일명)
<?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">
// namespace 는 BDAO파일이 있는 팩키지+파일명
<mapper namespace="com.mybatis.demoDAO.BDAO">
// select의 id 값은 메서드가 된다. 아래 BDAO를 보면 list() 라는 메서드가 된다.
// resultType는 메서드의 반환타입을 적어주면 된다.
<select id="list" resultType="com.mybatis.demoVO.BVO">
select * from mybatis_bbs where bId between 10 and 15 order by bId DESC
</select>
<insert id="writeOk">
insert into mybatis_bbs(bId, bName, bContent) values(seq_mybatis_bbs.nextval,#{param1},#{param2})
</insert>
<delete id="deleteOk">
delete from mybatis_bbs where bId = #{param1}
</delete>
</mapper>
// #{param1} 과 같이 파라미터를 받는다.
package com.mybatis.demoDAO;
import java.util.ArrayList;
import com.mybatis.demoVO.BVO;
public interface BDAO {
public ArrayList<BVO> list();
public void writeOk(String name, String bContent);
public void deleteOk(String bId);
}
package com.mybatis.demoVO;
public class BVO {
private int bId;
private String bName;
private String bContent;
public BVO(){
}
public BVO(int bId, String bName, String bContent){
this.bId = bId;
this.bName = bName;
this.bContent = bContent;
}
public int getbId() {
return bId;
}
public void setbId(int bId) {
this.bId = bId;
}
public String getbName() {
return bName;
}
public void setbName(String bName) {
this.bName = bName;
}
public String getbContent() {
return bContent;
}
public void setbContent(String bContent) {
this.bContent = bContent;
}
}
package com.mybatis.demo01;
import java.text.DateFormat;
import java.util.ArrayList;
import java.util.Date;
import java.util.Locale;
import javax.servlet.http.HttpServletRequest;
import org.apache.ibatis.session.SqlSession;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
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 org.springframework.web.bind.annotation.RequestParam;
import com.mybatis.demoDAO.BDAO;
import com.mybatis.demoVO.BVO;
/**
* Handles requests for the application home page.
*/
@Controller
public class HomeController {
@Autowired
private SqlSession sqlSession;
@RequestMapping("/list")
public String list(Model model){
System.out.println("----list영역 ----------");
System.out.println("sqlSession: "+sqlSession);
BDAO bdao = sqlSession.getMapper(BDAO.class);
model.addAttribute("list", bdao.list());
return "/list";
}
@RequestMapping("/writeForm")
public String writeForm(){
return "/writeForm";
}
@RequestMapping("writeOk")
public String writeOk(HttpServletRequest req, Model model){
BDAO bdao = sqlSession.getMapper(BDAO.class);
bdao.writeOk(req.getParameter("name"), req.getParameter("bContent"));
return "redirect:list";
}
@RequestMapping("delete")
public String deleteOk(HttpServletRequest req, Model model){
BDAO bdao = sqlSession.getMapper(BDAO.class);
bdao.deleteOk(req.getParameter("bId"));
return "redirect:list";
}
}
'기존카테고리 > Mybatis' 카테고리의 다른 글
ResultMap 을 이용한 mybatis (1) | 2017.07.25 |
---|---|
Mybatis 설정( pom.xml, root-context.xml) (0) | 2017.07.21 |