kjh95.tistory.com/336

     

    Spring Boot | MyBatis 설정 | Service와 Dao 준비 | MySQL 데이터베이스 연결 | Dao의 구현체 구현 | 스프링의

    MyBatis 설정 MyBatis 가 담당하는 역할 Mybatis 라이브러리 다운로드 Service와 Dao 준비하기 NoticeServise 개체 가져오기 list는 list기능 detail은 id값 NoticeController.java package com.newlecture.web..

    kjh95.tistory.com


    Mapper 객체를 이용해서 공지 목록 출력하기

    list객체를 service객체를 통해 가져온다.

    NoticeController.java

    NoticeController.java

    package com.newlecture.web.controller.customer;
    
    import java.util.List;
    
    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 com.newlecture.web.entity.Notice;
    import com.newlecture.web.service.NoticeService;
    
    //@RestController 요청한 모든것들 문자열로 반환 Controller는 뷰페이지만 인식
    @Controller
    @RequestMapping("/customer/notice/") 
    public class NoticeController {
    	
    	@Autowired
    	private NoticeService service;
    	
    	@RequestMapping("list") //list,detail,edit,reg
    	public String list(Model model){
    		
    		List<Notice> list = service.getList();
    		model.addAttribute("list", list);
    		
    		//return "customer/notice/list";
    		return "customer.notice.list"; // TilesVeiwResolver
    	}
    	
    	@RequestMapping("detail") //list,detail,edit,reg
    	public String detail(){
    		
    		return "customer.notice.detail";
    	}
    	
    }
    

     

    실제 존제할수 있도록(IOC 컨테이너에 담아주기 위해)

    NoticeServiceImp 구현체로 이동해서

    @Service 적용

     

     

    package com.newlecture.web.service;
    
    import java.util.List;
    
    import org.springframework.beans.factory.annotation.Autowired;
    import org.springframework.stereotype.Service;
    
    import com.newlecture.web.dao.NoticeDao;
    import com.newlecture.web.entity.Notice;
    
    @Service
    public class NoticeServiceImp implements NoticeService{
    	
    	@Autowired
    	private NoticeDao noticeDao;
    	
    	@Override
    	public List<Notice> getList() {
    
    		List<Notice> list = noticeDao.getList();
    
    		return list;
    	}
    
    	@Override
    	public Notice get(int id) {
    		
    		Notice notice = noticeDao.get(id);
    		
    		return notice;
    	}
    
    }
    

     

    NoticeDao를 구현한 구현체

    MyBatis @Mapper 사용 -> 재구성해서 IOC에 담아준다.

    NoticeDao.java

    package com.newlecture.web.dao;
    
    import java.util.List;
    
    import org.apache.ibatis.annotations.Mapper;
    import org.apache.ibatis.annotations.Select;
    
    import com.newlecture.web.entity.Notice;
    
    @Mapper
    public interface NoticeDao {
    	@Select("select * from notice")
    	List<Notice> getList();
    	
    	Notice get(int id);
    }
    

    Notice 객체 구현하기

    kjh95.tistory.com/339

     

    MySQL | Spring Boot 예제에서 사용할 데이터베이스 설정

    스프링 부트를 위한 데이터베이스 사용자 계정 추가 use sakila; create database springboot default character set utf8; show databases; create user spring identified by '111'; grant all privileges on sp..

    kjh95.tistory.com


    MySQL 값 넣기

     

    spring datasource DB연결 

    application.properties

    spring.mvc.view.prefix=/WEB-INF/view/
    spring.mvc.view.suffix=.jsp
    
    spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver
    spring.datasource.url=jdbc:mysql://localhost:3306/springboot?serverTimezone=Asia/Seoul
    spring.datasource.username=spring
    spring.datasource.password=111

     

    Notice.java

    package com.newlecture.web.entity;
    
    import java.util.Date;
    
    public class Notice {
    	private int id;
    	private String title;
    	private String content;
    	private Date regdate;
    	private int hit;
    	private boolean pub;
    	private int memberId;
    	
    	public Notice() {
    		// TODO Auto-generated constructor stub
    	}
    
    	public Notice(int id, String title, String content, Date regdate, int hit, boolean pub, int memberId) {
    		super();
    		this.id = id;
    		this.title = title;
    		this.content = content;
    		this.regdate = regdate;
    		this.hit = hit;
    		this.pub = pub;
    		this.memberId = memberId;
    	}
    
    	public int getId() {
    		return id;
    	}
    
    	public void setId(int id) {
    		this.id = id;
    	}
    
    	public String getTitle() {
    		return title;
    	}
    
    	public void setTitle(String title) {
    		this.title = title;
    	}
    
    	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 getHit() {
    		return hit;
    	}
    
    	public void setHit(int hit) {
    		this.hit = hit;
    	}
    
    	public boolean isPub() {
    		return pub;
    	}
    
    	public void setPub(boolean pub) {
    		this.pub = pub;
    	}
    
    	public int getMemberId() {
    		return memberId;
    	}
    
    	public void setMemberId(int memberId) {
    		this.memberId = memberId;
    	}
    
    	@Override
    	public String toString() {
    		return "Notice [id=" + id + ", title=" + title + ", content=" + content + ", regdate=" + regdate + ", hit="
    				+ hit + ", pub=" + pub + ", memberId=" + memberId + "]";
    	}
    	
    }
    

     

    list.jsp taglib core사용

     

    서버 실행

     

    • 네이버 블러그 공유하기
    • 네이버 밴드에 공유하기
    • 페이스북 공유하기
    • 카카오스토리 공유하기
    loading