CRUD

yj k·2023년 3월 19일
0

SpringBoot

목록 보기
3/4

기본 시동파일을 config 폴더로 옮기고
동일 폴더에 contextConfiguration 클래스를만든다
스프링 컨테어니에게 전체적으로 들어가는 요청을 할 떄 사용

붙일 어노테이션
@Configuration
@ComponentScan("com.greedy.curd") -> 스캔할 영역설정

Mapper파일을 등록할 다른 설정 클래스를 만든다
(mybatis와 관련된)

MybatisConfiguration 클래스를 만든다.

붙일 어노테이션
@Configuration
@MapperScan(basePackage="com.greedy.crud", annotationClass = Mapper.class)
-> Mapper 어노테이션이 붙은 파일을 스캔
ibatis로 임폴트

MenuMapper 인터페이스 작성(어떤 형태의 기능이다 반환값, 메소드의 이름, 매객변수 같은것을 설정해 놓을 수 있는 공간)
@Mapper 어노테이션
수행할 메소드 적어준다
EX. List findAllMenu();

main/resources하위에
mappers폴더를 만들고 menuMapper.xml파일 작성

namespace 를 연결할dao파일과 동일하게 경로 일치하게 작성

yml 파일에 mapper를 연결할 설정 값 작성

mybatis:

mapper-lacations: mappers/**/*.xml

menuMapper.xml에 매퍼 구문 작성

resultMap작성
id 고유값으로 처리하는 속성
result 중복값이 있어도 상관없는 속성들

property: MenuDTO의 필드명 작성
column : 조회되는 컬럼의 명칭

select id = "findAllMenu" resultMap="menuResultMap"
findAllMenu : 메소드 이름과 동일하게 작성
resultMap : 필드명과 컬럼의 매칭에 필요한 설정

셀렉트 구문 작성

-----------------> 테스트 수행

기능에대한 부분을 트랙잭션을 컨트롤할(기능단위의 비지니스 로직을 작성할) 서비스 로직 만들기
인터페이스를 상속받는 구조로 만듦

model.service에
MenuService 인터페이스 생성

public interface MenuService

List<MenuDTO> findAllMenu();

위 기능에 대해서 기능을 실제로 수행할 클래스 생성

model.service에
MenuServiceImpl 클래스 생성

@Service("menuService")
*스프링컨테이너가 객체생성 등 대신 작업하도록 어노테이션 붙여주고
이름 설정해줌("설정할 이름")
public class MenuServiceImpl implements menuService

private final MenuMapper menuMapper;

@Autowired
public MenuServiceImpl(MenuMapper menuMapper)
	this.menuMapper = menuMapper;



@Override
*상속받은 메소드가 구현되어있지 않으니 오버라이드하여 작성

public List findAllMenu()

	return menuMapper.findAllMenu();

-----------------> 테스트 수행

컨트롤러 클래스 작성

controller폴더에
MenuController 클래스 작성

@Controller
@RequestMapping("/menu")

-----------------> 테스트 수행

뷰 연결작업

index 페이지 생성

templates폴더 하위에
menu/list 페이지 생성하여
뷰 작성

0개의 댓글

관련 채용 정보