Board

coc·2023년 9월 25일
0

BoardController

package kr.co.gudi.controller;

import java.util.ArrayList;
import java.util.Map;

import javax.servlet.http.HttpSession;

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 kr.co.gudi.dto.BoardDTO;
import kr.co.gudi.service.BoardService;

@Controller
public class BoardController {
	
	Logger logger = LoggerFactory.getLogger(getClass());
	
	@Autowired BoardService service;
	
	@RequestMapping(value="/list")
	public String list(Model model, HttpSession session) {
		
		String page = "index";

		if(session.getAttribute("loginId") == null) {
			model.addAttribute("msg", "로그인이 필요한 서비스 입니다");
		}else {
			ArrayList<BoardDTO> list = service.list();
			logger.info("list size : "+list.size());
			model.addAttribute("list", list);
			page = "list";
		}
				
		return page;
	}
	
	
	@RequestMapping(value="/writeForm")
	public String writeForm(Model model, HttpSession session) {
		String page = "index";
		if(session.getAttribute("loginId") == null) {
			model.addAttribute("msg", "로그인이 필요한 서비스 입니다.");
		}else {
			page = "writeForm";
		}				
		return page;
	}
	
	
	@RequestMapping(value="write", method = RequestMethod.POST)
	public String write(Model model, HttpSession session, 
			@RequestParam Map<String, String> params) {
		logger.info("params : "+params);
		String page = "index";
		
		if(session.getAttribute("loginId") == null) {
			model.addAttribute("msg", "로그인이 필요한 서비스 입니다.");
		}else {
			service.write(params);
			page = "redirect:/list";
		}
		
		return page;
	}


	@RequestMapping(value = "/detail")
	public String detail(Model model, HttpSession session, @RequestParam String idx) {
		String page = "index";
		
		if(session.getAttribute("loginId")==null) {
			model.addAttribute("msg","로그인이 필요한 서비스 입니다");
		
		}else {
			BoardDTO bbs = service.detail(idx); //1
			model.addAttribute("bbs",bbs);
			page = "detail";
		}
		
		return page;
	}


	@RequestMapping(value="/del")
	public String del(@RequestParam String idx ,Model model ,HttpSession session) {
		
		String page ="index";
		if(session.getAttribute("loginId")==null) {
			model.addAttribute("msg","로그인이 필요한 서비스 입니다");
		}else {
		page =	"redirect:/list";
		service.del(idx);
		}
		
		
		return page;
	}





}

membercontroller

package kr.co.gudi.controller;

import javax.servlet.http.HttpSession;

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 kr.co.gudi.service.MemberService;

@Controller
public class MemberController {
	
	Logger logger = LoggerFactory.getLogger(getClass());
	
	@Autowired MemberService service;
	
	@RequestMapping(value="/")
	public String index() {
		return "index";
	}
	
	@RequestMapping(value="/login", method = RequestMethod.POST)
	public String login(Model model, HttpSession session, 
			@RequestParam String id, @RequestParam String pw) {
		String page = "index";
		
		boolean success = service.login(id,pw);
		logger.info("success : "+success);
		
		if(success) {
			// page = "list";				<- list.jsp (이동시킨다)
			// page = "redirect:/list";	<-controller 의 /list 요청을 해라
			page = "redirect:/list";
			session.setAttribute("loginId", id);
		}else {
			model.addAttribute("msg", "아이디 또는 비밀번호를 확인 하세요!");
		}
		
		return page;
	}

}

Boardservice

package kr.co.gudi.service;

import java.util.ArrayList;
import java.util.Map;

import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

import kr.co.gudi.dao.BoardDAO;
import kr.co.gudi.dto.BoardDTO;

@Service
public class BoardService {
	
	Logger logger = LoggerFactory.getLogger(getClass());
	
	@Autowired BoardDAO dao;

	public ArrayList<BoardDTO> list() {		
		return dao.list();
	}

	public void write(Map<String, String> params) {
		int row = dao.write(params);
		logger.info("insert count : "+row); //row는 데이터를 건드린 갯수이다
	}

	public BoardDTO detail(String idx) {
		dao.upHit(idx);
		return dao.detail(idx);//2
	}

	public int del(String idx) {
		
		return  dao.del(idx);
	}
	
	

	

}

Memberservice

package kr.co.gudi.service;

import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

import kr.co.gudi.dao.MemberDAO;

@Service
public class MemberService {

	Logger logger = LoggerFactory.getLogger(getClass());

	@Autowired MemberDAO dao;
	
	public boolean login(String id, String pw) {		
		String loginId = dao.login(id,pw);				
		return loginId != null;
	}

}

BoardDTO

package kr.co.gudi.dto;

import java.sql.Date;

public class BoardDTO {
	
	private int idx;
	private String subject;
	private String user_name;
	private String content;
	public String getContent() {
		return content;
	}
	public void setContent(String content) {
		this.content = content;
	}
	private int bHit;
	private Date reg_date;
	
	public int getIdx() {
		return idx;
	}
	public void setIdx(int idx) {
		this.idx = idx;
	}
	public String getSubject() {
		return subject;
	}
	public void setSubject(String subject) {
		this.subject = subject;
	}
	public String getUser_name() {
		return user_name;
	}
	public void setUser_name(String user_name) {
		this.user_name = user_name;
	}
	public int getbHit() {
		return bHit;
	}
	public void setbHit(int bHit) {
		this.bHit = bHit;
	}
	public Date getReg_date() {
		return reg_date;
	}
	public void setReg_date(Date reg_date) {
		this.reg_date = reg_date;
	}

}

BoardDAO

package kr.co.gudi.dao;

import java.util.ArrayList;
import java.util.Map;

import kr.co.gudi.dto.BoardDTO;

public interface BoardDAO {

	ArrayList<BoardDTO> list();

	int write(Map<String, String> params);

	BoardDTO detail(String idx);//3

	void upHit(String idx);

	int del(String idx);

}

memberDAO

package kr.co.gudi.dao;

public interface MemberDAO {

	String login(String id, String pw);

}

BoardMapper

<?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="kr.co.gudi.dao.BoardDAO">	
	<select id="list" resultType="kr.co.gudi.dto.BoardDTO">
		SELECT idx,subject,user_name,bHit,reg_date 
			FROM bbs
	</select>
	
	<insert id="write" parameterType="map">
	INSERT INTO bbs(
		user_name,subject,content
	)VALUES(
		#{user_name},#{subject},#{content}
	)
	</insert>
	
	<select id="detail" resultType="kr.co.gudi.dto.BoardDTO">
	SELECT * FROM bbs WHERE idx =#{param1}
	</select>
	
	<update id="upHit"> <!-- +1 을 해줄려면 이렇게 해줘야 증가한다 -->
	UPDATE bbs SET bHit = bHit+1  where idx= #{param1}
	
	</update>
	
	<delete id="del">
		DELETE FROM 
			bbs WHERE idx = #{param1}
	</delete>
	
</mapper>

memberMapper

<?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="kr.co.gudi.dao.MemberDAO">	
	<select id="login" resultType="String">
		SELECT id FROM member
			WHERE id = #{param1} AND pw = #{param2}
	</select>
</mapper>
profile
시작

0개의 댓글

관련 채용 정보