1 분 소요

공지사항 등록하기1

 

DB

ANOTICE 테이블


create table anotice
(
    nno  int,
    ntitle varchar2(100) not null,
    nwriter_id varchar2(20) not null,
    ncontent varchar2(3000) not null,
    nregdate date DEFAULT SYSDATE,
    updatedate date default sysdate,
    nhit  int DEFAULT 0,
    nfiles varchar2(3000)
    );
-- 자동증가

ALTER TABLE anotice ADD (
  CONSTRAINT anotice PRIMARY KEY (nno));
    
    
--시퀀스
CREATE SEQUENCE anotice_seq START WITH 1;

 

순서

1.VO 작성

2..Mapper처리/테스트

3..service처리/테스트

4..controller 처리

5.view 처리


 

1.VO 작성

 

public class NoticeVO {
	
    private Integer nno; // 번호
    private String ntitle; //제목
    private String nwriter_id; //작성자
    private String ncontent; //내용
    private String nregdate; // 작성날짜
    private String nupdateDate; //수정날짜
    private Integer nhit; //조회수

anotice 테이블에 데이터를 전달하거나 테이블로 부터 반환 받은 데이터를 담을 객체를 정의하는 클래스를 com.supurmm.model에 생성한다

 

 

2.Mapper 처리 및 테스트

 

  • NoticeMapper.java

 

NoticeMapper.java를 테스트 하기 앞서 오라클에 위의 테이블을 생성한 후 아래의 코드를 작성한다

public void Noticeregister(NoticeVO vo);

NoticeMapper.java는 NoticeMapper.xml의 namespace가 기술 된다

자바들을 맵핑 해주는 역할을 한다

 

 

  • NoticeMapper.xml

src/main/resource에 NoticeMapper.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">
<mapper namespace="com.supermm.mapper.NoticeMapper">

NoticeMapper.xml 파일 상단에 Namespace를 이용하여 NoticeMapper.java의 경로를 적는다


 

NoticeMapper.xml에 쿼리문을 작성한다

	<insert id="Noticeregister">
		insert into ANOTICE( ntitle, nwriter_id, ncontent, nfiles )
		values( #{ntitle, jdbcType=VARCHAR}, #{nwriter_id, jdbcType=VARCHAR },
		#{ncontent,jdbcType=VARCHAR}, #{nfiles,jdbcType=VARCHAR})

	</insert>

namespace의 속성 값과 mapper.java와 동일한 파일 이름이 작성 되어야 한다

 

 


Mapper Test하기

메서드 테스트 해보기

  • NoticeMapperTest.java

@WebAppConfiguration
@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration("file:src/main/webapp/WEB-INF/spring/root-context.xml")
public class NoticeMapperTest {
	
	@Autowired
	private NoticeMapper mapper;
	
	@Autowired
	private NoticeService service;
	
	
@Test

//등록테스트
public void Noticeregister(){
	
	NoticeVO vo =new NoticeVO();
	
	 vo.setNno(1);
	 vo.setNtitle("테스트");
	vo.setNcontent("테스트");
	vo.setNwriter_id("test");
	vo.setNfiles("test");
	
	mapper.Noticeregister(vo);
		
		
		
	}
	

성공으로 나오면 통과!

댓글남기기