- DB 테이블 만들기
- VO
- Mapper.java
- Mapper.xml
- Controller
- Service
- ServiceImpl
프로젝트 구조
src
main
java
pro
controller
dto
mapper
service
vo
resources
proMapper
xml
DB 테이블 만들기 방법 알아서 구글링 후 만들기 (Postgresql)
VO
- src/main/java/vo 안에 회사 메타시스템의 맞게 이름 정해서 생성
- 만든 테이블의 필드 명 + 데이터 타입에 맞게 vo.java 생성 (varchar = String)
@Data <----------------- lombok에서 지원
@Getter / @Setter, @ToString, @EqualsAndHashCode와 @RequiredArgsConstructor를 어노테이션 한방에 끝
public class 어쩌구Vo {
private String
private int
.
.
.
};
Mapper.java
- src/main/java/mapper 안에 회사 메타시스템의 맞게 이름 정해서 생성
- 보통 첫 파일에 통일하게 만듬
- 인터페이스라 메소드만 생성
@Mapper <-----------------ㅡmybatis 사용하겠다
public interface 어쩌구Mapper { <--------class 가아니라 인터페이스
public List<어쩌구Vo> 어쩌구List() throws Exception; <----위에서 만든 vo List로 받겠다는 뜻
}
Mapper.xml
- 실제 쿼리 작성 하는곳
- src\main\resources/mapper 안에 회사 메타시스템의 맞게 이름 정해서 생성
- 개발자는 쿼리든 소스든 뭐든 각이 생명이라 합니다 각 = 소스위치 들여쓰기 등등
<?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
- 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
- src/main/java/service 안에 회사 메타시스템의 맞게 이름 정해서 생성
- 인터페이스로 메소드만 정의 구현은 ServiceImpl 에서
public interface 어쩌구Service {
public List<vo명> service메소드명() throws Exception; <----------- vo를 List로 담겠다.
}
ServiceImpl
- 실제 service 구현 하는곳
- 비지니스 로직
@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 |