본문 바로가기

기존카테고리/Mybatis

기본 XML 설정과 사용예


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