어떤 태그든지 안에 selectKey태그를 쓸 수 있다. order="" >> 안에 쿼리를 언제 실행할 지 순서를 정해준다. before(insert 전에), after(insert 후에) 시퀀스의 nextval > 다음 번호를 select 시퀀스의 currentval > 현재 번호를 select select 한 것을 keyProperty로 전달받은 파라미터의 객체로 들어간다. 메소드의 파라미터 resultType의 결과로 들어간다. keyProperty 내용을 필드명과 동일하게 써야 파라미터의 필드가 정확히 매핑이 될 수 있다. public int insert(BoardVO boardVO) boardVO의 boardNumber로 들어간다. insert에서 전달받은 boardNumber를 그대로 사용하면..
1.프로젝트 만들고 설정, DB 세팅 2.mapper.xml > 쿼리 작성 // 파라미터 타입은 생략 가능(메소드 매개변수로 판단), resultType은 리턴타입과 맞춰주기 3.mapper.java > 인터페이스 생성 // @Mapper 4.config에서 alias 작성 5.mapperTest.java > 단위테스트 실시 6.DAO(JPA를 배우면 jpa repository로 바뀔 예정) - 자바스럽게 바꿔주는 역할 7.dao 단위테스트 persistence tier 끝 --------------------------------------- business tier 시작 8.service > 인터페이스 생성 // @Service 9.service > 구현 클래스 생성 // @Service 10.ser..
File > new > project Spring initializr > project SDK : 11 java version > Next Artifact : 프로젝트명 > Type : Maven Project > Java Version : 11 > Version : 1.0(또는 수정X) > Description : 프로젝트설명 > Next 필요한 거 클릭 Quartz Scheduler : 실시간으로 돌아가는 스케줄러 > Next Project name, location 확인 > Finish This Window : 현재 창에 뜨게 하기 New Window : 새로운 창에 뜨게 하기 1).properties 설정적기 : 포트번호, 서버연결 등 2)mybatis 연결(mybatis, config) 3)po..
favicon 링크태그 추가하면 끝!
MVC모델 쓰는 이유 1.분업 2.소스코드 간결화 > 모듈화 모듈 : 부품 각각의 목적에 맞게끔 클래스를 만들어서 분리를 하자 수직관계로 분리 > 티어(Tier) 3-tier 스프링 프로젝트는 3-tier 방식으로 구성한다. [Presentation Tier - 화면 계층] 화면에 보여주는 기술을 사용하는 영역. 컨트롤러에서 사용자의 요청에 맞는 응답처리를 진행하며, HTML엔진(Thymeleaf), HTML등이 담당하는 영역이다. 화면 구성이 이에 속한다. [Business Tier - 비지니스 계층] 순수한 비지니스 로직을 담고 있는 영역. 고객이 원하는 요구사항을 반영하는 계층이기 때문에 서비스에 있어서 가장 중요한 영역이다. 이 영역의 설계는 고객의 요구 사항과 정확히 일치해야 하며, 서비스 영역..
클래스를 만들었다! >> 빨리 스프링한테 알려줘야지!! 스프링에 등록하는 어노테이션 @Component VO, DTO @Repository DAO @Controller Controller @Mapper Mapper @Service Service @SpringBootTest Test @Configuration 설정파일 왼쪽에 콩(Bean)이 생기면 spring이 관리하는 것임. Lombok library Mybatis 설정 hikari = 라이브러리 이름, mybatis를 연동시켜줄 수 있는 친구 자동 mapping : 태그에 아이디가 메소드와 자동으로 매핑됨. 자동으로 알아서 구현체 들어가서 프록시 들어감. mapper.xml mapper.java > 인터페이스 : 미리 구현할 수 없음. 어떤 쿼리가 발..
*spring 순서 Mapper.xml > interface > method 매퍼(namespace)랑 인터페이스(경로)랑 연결 매퍼의 태그(아이디)가 메소드(이름)와 연결 버그. @Autowired 프록시가 들어와서 빨간 줄 그이는 건 버그니까 무시해도 됨. Spring MVC 동작 순서 1. 사용자의 Request는 Front-Controller인 DispatcherServlet을 통해 처리한다. 2. HandlerMapping은 Request의 처리를 담당하는 컨트롤러를 찾기 위해서 존재한다. HandlerMapping 인터페이스를 구현한 여러 객체 중 @RequestMapping 어노테이션이 적용된 것을 기준으로 판단하며, 적절한 컨트롤러가 찾아졌다면 HandlerAdapter를 이용해서 해당..
스프링이 구현체를 만들어서 프록시 수법으로 전달함. 실제 원본객체를 상속받아서 프록시를 만듦. 원본객체를 상속받으면 자식타입이 되니까 객체를 비교했을 때 ==은 false이지만(서로 다른 객체) instanceof은 true(같은 타입) 실무에서 객체2개를 비교해야 하는 상황이 많을 것임. DB를 조회했을 때 동일한 쿼리를 발생되면 동일한 객체에 일관성이 필요함. SELECT를 3번한다면, 3개의 객체를 만드는 게 아니라 기존 객체가 3번 돌아옴. 일관성이 있어야 다른 곳에서 수정을 했을 때 반영이 되기 때문. 객체의 주소가 똑같아야지만, 여기서 수정했을 때 다른 곳도 반영이 되므로. 객체 주소가 다르면 안됨. 프록시는 원본 주소를 가져오는 것이 아니라 내가 필요한 것만 갖고 있다가 갖고 있지 않은 것을..