12. 게시글작성 Controller , Mapper
bbs.BoardController.java
Model을 메소드 인자로 사용하여 모델설정 역할. req.setAttribute("이름",값)
package com.sp.bbs;
@Controller("bbs.boardController")
public class BoardController {
@Autowired
private BoardService service;
@Autowired
private MyUtil myUtil;
//@RequestMapping 어노테이션을 사용할 경우, MultiActionController와 같이 한 개의 컨트롤러에서 다수의 요청을 처리.
//@RequestMapping의 value형태의 url이 들어오면 해당 method를 호출한다.
@RequestMapping(value="/bbs/created",method=RequestMethod.GET)
public String createdForm(Model model) throws Exception {
model.addAttribute("mode","created");
return "bbs/created";
}
@RequestMapping(value="/bbs/created", method=RequestMethod.POST)
public String createdSubmit(Board dto, HttpServletRequest req)throws Exception{
dto.setIpAddr(req.getRemoteAddr());
service.insertBoard(dto);
return "redirect:/bbs/list";
}
}
DB에 데이터를 저장하기 위한 bbsMapper.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="bbs">
<insert id="insertBoard" parameterType="com.sp.bbs.Board">
INSERT INTO bbs (num, name, pwd, subject, content, ipAddr) VALUES(
bbs_seq.NEXTVAL, #{name},#{pwd},#{subject},#{content},#{ipAddr})
</insert>
</mapper>
휴.......이제 서버 실행 후 게시글을 작성해서 db에 들어가는지 확인 해 보자.
아마 들어갈 것임
'WEB > 게시판구현_springMvc2+mybatis' 카테고리의 다른 글
11.게시글작성 DTO, Service (0) | 2017.04.12 |
---|---|
9. 사용자 생성 및 테이블 작성 (0) | 2017.04.12 |
8. 공용 클래스 작성 Myutil.java (0) | 2017.04.12 |
7. 공용 클래스 작성 - commonDAo (0) | 2017.04.12 |
6. 마이바티스 설정 mybatis-config, mybatis-context, mapper (0) | 2017.04.12 |
11.게시글작성 DTO, Service
- com/sp/bbs/Board.java ( DTO 클래스 )
public class Board {
private int listNum, num;
private String name,pwd,subject,content,ipAddr,created;
private int hitCount;
getter setter 작성.
- com/sp/bbs/BoardService.java - 인터페이스 작성
package com.sp.bbs;
import java.util.List;
import java.util.Map;
public interface BoardService {
public int insertBoard(Board dto);
public List<Board> listBoard(Map<String, Object> map);
public int dataCount(Map<String, Object> map);
public Board readBoard(int num);
public int updateHitCount(int num);
public Board preReadBoard(Map<String,Object> map);
public Board nextReadBoard(Map<String,Object> map);
public int updateBoard(Board dto);
public int deleteBoard(int num);
}
- com/sp/bbs/BoardServiceImpl.java - 인터페이스 구현. 클래스
어노테이션 빼먹지 않도록 주의한다.
@Autowired 타입에 의한 의존관계 자동설정
동일한 타입이 둘 이상인 경우
@Autowired
@Qualifier("bbs.boardService")
import java.util.List;
import java.util.Map;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import com.sp.common.dao.CommonDAO;
@Service("bbs.boardService")
public class BoardServiceImpl implements BoardService {
@Autowired
private CommonDAO dao;
@Override
public int insertBoard(Board dto) {
int result=0;
try {
//최대값을 이용하여 게시물 번호를 작성하는 경우
//int maxNum = dao.getIntValue("bbs.numMax")
//dto.setNum(maxNum+1);
result=dao.insertData("bbs.insertBoard", dto);
} catch (Exception e) {
// TODO: handle exception
}
return result;
}
//기타 클래스 생략 //
}
//commondao의 insertdate를 사용.
'WEB > 게시판구현_springMvc2+mybatis' 카테고리의 다른 글
12. 게시글작성 Controller , Mapper (0) | 2017.04.12 |
---|---|
9. 사용자 생성 및 테이블 작성 (0) | 2017.04.12 |
8. 공용 클래스 작성 Myutil.java (0) | 2017.04.12 |
7. 공용 클래스 작성 - commonDAo (0) | 2017.04.12 |
6. 마이바티스 설정 mybatis-config, mybatis-context, mapper (0) | 2017.04.12 |
9. 사용자 생성 및 테이블 작성
- 사용자생성 - 오라클 DB
--1 사용자를 생성한다 이름은 board1으로.비번은 java$!
CREATE USER board1 IDENTIFIED BY "java$!";
--2 사용자에게 CONN 및 테이블스페이스를 사용할 권한 부여
GRANT CONNECT, RESOURCE TO board1;
--3 테이블스페이스 변경
ALTER USER board1 DEFAULT TABLESPACE USERS;
--4
ALTER USER board1 TEMPORARY TABLESPACE TEMP;
- 테이블생성
게시판 테이블이름은 bbs로.
ip주소와 비밀번호를 이용하는 비회원제 게시판이다.
여러가지 방법이 있겠지만 일단 가장 기초적으로 ㄱㄱ
CREATE TABLE bbs (
num NUMBER NOT NULL
,name VARCHAR2(30) NOT NULL
,pwd VARCHAR2(50)
,subject VARCHAR2(255) NOT NULL
,content VARCHAR2(4000) NOT NULL
,ipAddr VARCHAR2(50) NOT NULL
,hitCount NUMBER DEFAULT 0
,created DATE DEFAULT SYSDATE
,CONSTRAINT pk_bbs_num PRIMARY KEY(num)
);
- 시퀀스 생성
기본키 num값을 위한 시퀀스 설정
시퀀스이름은 bbs_seq로.
1씩증가하며 1부터 시작한다.
CREATE SEQUENCE bbs_seq
INCREMENT BY 1
START WITH 1
NOMAXVALUE NOCYCLE NOCACHE;
SELECT * FROM seq;
참고
NOMAXVALUE : 오름차순 최대 10의 27승 까지, 내림차순 -1 까지 생성됨.
NOCACHE : 시퀀스를 메모리에 할당하여 사용하지 않음.
NOCYCLE : 해당 시퀀스가 최대값에 도달해도 다시 생성하지 않는다.[DEFAULT]
'WEB > 게시판구현_springMvc2+mybatis' 카테고리의 다른 글
12. 게시글작성 Controller , Mapper (0) | 2017.04.12 |
---|---|
11.게시글작성 DTO, Service (0) | 2017.04.12 |
8. 공용 클래스 작성 Myutil.java (0) | 2017.04.12 |
7. 공용 클래스 작성 - commonDAo (0) | 2017.04.12 |
6. 마이바티스 설정 mybatis-config, mybatis-context, mapper (0) | 2017.04.12 |