BoardVO
package com.spring.crazy.model;
import java.sql.Date;
import org.springframework.stereotype.Component;
@Component
public class CrazyBoardVO {
private int bno; // 번호
private String subject; // 제목
private String username; // 이름
private String writer; //작성자
private String content; //내용
private Date regdate; //등록일
private int viewcnt; //조회수
private String filename; //파일이름
private String filepath; //파일경로
public int getBno() {
return bno;
}
public void setBno(int bno) {
this.bno = bno;
}
public String getSubject() {
return subject;
}
public void setSubject(String subject) {
this.subject = subject;
}
public String getUsername() {
return username;
}
public void setUsername(String username) {
this.username = username;
}
public String getWriter() {
return writer;
}
public void setWriter(String writer) {
this.writer = writer;
}
public String getContent() {
return content;
}
public void setContent(String content) {
this.content = content;
}
public Date getRegdate() {
return regdate;
}
public void setRegdate(Date regdate) {
this.regdate = regdate;
}
public int getViewcnt() {
return viewcnt;
}
public void setViewcnt(int viewcnt) {
this.viewcnt = viewcnt;
}
public String getFilename() {
return filename;
}
public void setFilename(String filename) {
this.filename = filename;
}
public String getFilepath() {
return filepath;
}
public void setFilepath(String filepath) {
this.filepath = filepath;
}
@Override
public String toString() {
return "CrazyBoardVO [bno=" + bno + ", subject=" + subject + ", username=" + username + ", writer=" + writer
+ ", content=" + content + ", regdate=" + regdate + ", viewcnt=" + viewcnt + ", filename=" + filename
+ ", filepath=" + filepath + "]";
}
}
Boarddao
public void crazywrite(CrazyBoardVO vo,List list)throws Exception;
@Repository
BoardDAOImpl
@Inject
SqlSession session;
@Transactional
@Override
public void crazywrite(CrazyBoardVO vo,List list) throws Exception {
// TODO Auto-generated method stub
session.insert("crazy.crazywrite",vo);
if(list==null){
System.out.println("list files == null");
}else {
session.insert("crazy.addattach",list);
}
}
BoardService
public void crazywrite(CrazyBoardVO vo,List attachlist)throws Exception;
@Service
BoardServiceImpl
@Inject
CrazyBoardDAO dao;
@Override
public void crazywrite(CrazyBoardVO vo, List attachlist) throws Exception {
// TODO Auto-generated method stub
dao.crazywrite(vo, attachlist);
}
BoardController
@Inject
CrazyBoardService service;
@RequestMapping(value="/crazywrite.do",method=RequestMethod.POST)
public String crazywriteaction(CrazyBoardVO vo,HttpSession session,MultipartHttpServletRequest request,List<MultipartFile> file)throws Exception{
String filenames = "";
File directory = new File(filepath);
if(!directory.isDirectory()) {
directory.mkdir();
System.out.println(directory);
}
List<MultipartFile> fileList = request.getFiles("file");
for(MultipartFile filepart : fileList) {
filenames = filepart.getOriginalFilename();
String savepath = filepath+"//"+filenames;
if(!filenames.equals("")) {
FileOutputStream fs = new FileOutputStream(savepath);
fs.write(filepart.getBytes());
fs.close();
}else {
}
}
List<CrazyBoardVO> attachlist = new ArrayList<CrazyBoardVO>();
for(int i = 0; i<file.size(); i++) {
CrazyBoardVO cvo = new CrazyBoardVO();
String filename = file.get(i).getOriginalFilename();
System.out.println("file + i : "+filename);
System.out.println(file.size());
if(i>=file.size()) {
}else {
cvo.setFilename(filename);
cvo.setFilepath(filepath);
}
attachlist.add(cvo);
}
String writer = (String) session.getAttribute("userid");
vo.setWriter(writer);
service.crazywrite(vo,attachlist);
return "redirect:/crazyboard.do";
}
mybatis (oracle)
<insert id="addattach" parameterType="java.util.List">
<foreach item="addvo" collection="list" separator=""
close="select * from dual" open="insert all">
into
attach(
bno
,filepath
,filename
,regdate)
values(
crazyboard_seq.currval,
#{addvo.filepath},
#{addvo.filename},
sysdate
)
</foreach>
</insert>
<insert id="crazywrite">
insert into
crazyboard(bno,writer,subject,content,regdate)
values(crazyboard_seq.nextval,#{writer},#{subject},#{content},sysdate)
</insert>
'스프링 게시판' 카테고리의 다른 글
스프링게시판 만들기 리스트 , 페이지 나누기 (0) | 2021.01.12 |
---|---|
Spring json 데이터 통으로 받기 (0) | 2020.12.21 |
스프링 시큐리티 로그인 비밀번호 암호화 (0) | 2020.06.20 |
스프링 카카오 로그인 (0) | 2020.05.16 |
스프링 설정 pom.xml / applicationContext.xml (database설정) /controller.xml (4) | 2020.04.26 |
댓글