본문 바로가기

it-day/springboot

나만의 개발 순서(조회)

  • DB 테이블 만들기
  • VO
  • Mapper.java
  • Mapper.xml
  • Controller
  • Service
  • ServiceImpl

프로젝트 구조

src

 main

  java

   pro

    controller

    dto

    mapper

    service

    vo

  resources

   proMapper

     xml

   

DB 테이블 만들기 방법 알아서 구글링 후 만들기 (Postgresql)

 

VO

  1. src/main/java/vo 안에 회사 메타시스템의 맞게 이름 정해서 생성
  2. 만든 테이블의 필드 명 + 데이터 타입에 맞게 vo.java 생성 (varchar = String)

@Data  <----------------- lombok에서 지원

               @Getter / @Setter, @ToString, @EqualsAndHashCode와 @RequiredArgsConstructor를 어노테이션 한방에 끝 

public class 어쩌구Vo {

    private String

    private int

          .

          .

          .

};

 

Mapper.java

  1. src/main/java/mapper 안에 회사 메타시스템의 맞게 이름 정해서 생성
  2. 보통 첫 파일에 통일하게 만듬
  3. 인터페이스라 메소드만 생성

@Mapper  <-----------------ㅡmybatis 사용하겠다

public interface 어쩌구Mapper {   <--------class 가아니라 인터페이스

public List<어쩌구Vo> 어쩌구List() throws Exception;  <----위에서 만든 vo List로 받겠다는 뜻

}

 

Mapper.xml

  1. 실제 쿼리 작성 하는곳
  2. src\main\resources/mapper 안에 회사 메타시스템의 맞게 이름 정해서 생성
  3. 개발자는 쿼리든 소스든 뭐든 각이 생명이라 합니다 각 = 소스위치 들여쓰기 등등

<?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="Mapper.xml 있는 경로">
    <select id="Mapper.java에서 만든 메소드명()" resultType="vo작성한 경로">
        select  필드명
          from 테이블명

        where 어쩌구저쩌구
     </select>
</mapper>

 

Controller

  1. src/main/java/controller 안에 회사 메타시스템의 맞게 이름 정해서 생성

@Controller
public class 어쩌구Controller {
    @Autowired
    Service명 Service명; 

    @GetMapping("URL쓰고싶은거")
    public String 메소드명(Model model) throws Exception{
     List<VO명> 변수명 = Service명.서비스의 함수명();
    
     model.addAttribute("view전달변수",위의 변수명);

        return "thymeleaf경로";
    }
}

 

Service

 

  1. src/main/java/service 안에 회사 메타시스템의 맞게 이름 정해서 생성
  2. 인터페이스로 메소드만 정의 구현은 ServiceImpl 에서

public interface 어쩌구Service {
    public List<vo명> service메소드명() throws Exception; <----------- vo를 List로 담겠다.
}

 

ServiceImpl

  1. 실제 service 구현 하는곳
  2. 비지니스 로직

@Service
public class ServiceImpl명 implements Service명 {

    @Autowired
    Mapper명 Mapper명;
    
    @Override 
    public List<vo명> service함수명() throws Exception{
     return Mapper명.Mapper의 id();
    }
}

'it-day > springboot' 카테고리의 다른 글

기초 복습(@ResponseBody,@RequestMapping)  (0) 2024.03.11
Vue 디버깅 하는법  (0) 2024.02.27
document.referrer 란  (0) 2024.02.01
Spring Batch(tasklet)  (0) 2023.11.27
Command 객체  (0) 2023.10.15