목록Spring Boot (40)
게으른 완벽주의자의 개발자 도전기

이번에 사용할 것 layout(fragment) bootstrap thymeleaf validation(빨간색으로 틀렸다 표시 뜨는거) spring security 1. 설정(application.properties) 2. pom.xml 필요한 jar파일 추가 3. 필요한 파일 추가 (쿼리 로그 출력 위한 파일) -> log4jdoc , logback templates layout 폴더 layout 사용할거야 layout:decorate -> layout 페이지는 base_layout html이랑 같이 실행될거야 controller에서 board_List 실행하면 위의 태그들로 인해서 연결된 파일들 같이 열린다. 계속 바뀌는 화면 게시글 목록이야~~~ ~{layout/base_layout} 에서 ~{} ..

1. mapper 학생정보 삭제 DELETE STUDENT_INFO WHERE STU_NUM = #{stuNum} 성적 삭제 DELETE SCORE_INFO WHERE STU_NUM = #{stuNum} 2. 인터페이스, serviceImpl 학생정보 삭제 void deleteStu(int stuNum); 학생정보 삭제 @Override 트랜잭션 처리 @Transactional(rollbackFor = Exception.class) ★rollbackFor :어떤 예외가 발생했을 때 rollback 할 것인지 작성 메소드 정상 실행되면 커밋된다 (exception이 모든 예외의 대빵) ★자식 먼저 삭제 후 부모 삭제해야 함 그래서 점수 데이터 지우고 학생데이터 지운다 public void deleteStu..

1. mapper 1. 이름 클릭하여 점수목록 보기 SELECT ST.STU_NUM , STU_NAME , CLASS_NAME , NVL(KOR_SCORE, 0) AS KOR_SCORE , NVL(ENG_SCORE, 0) AS ENG_SCORE , NVL(MATH_SCORE, 0) AS MATH_SCORE FROM SCORE_INFO SC, CLASS_INFO CL, STUDENT_INFO ST WHERE ST.CLASS_CODE = CL.CLASS_CODE AND ST.STU_NUM = SC.STU_NUM(+) AND ST.STU_NUM = #{stuNum} 2. 점수등록 MERGE INTO SCORE_INFO USING DUAL ON (STU_NUM = #{stuNum}) 확인하기로 바꾸기 btn.v..

목록조회(학생목록조회 -> ajax 사용하지 않음, 학급목록조회 -> ajax 사용) 1. mapper 1. 학급목록 조회 SELECT CLASS_CODE , CLASS_NAME FROM CLASS_INFO ORDER BY CLASS_CODE 2. 학생목록정보 방법1 조인 SELECT STU_NUM , STU_NAME , STU_AGE , CLASS_NAME FROM STUDENT_INFO S, CLASS_INFO C WHERE S.CLASS_CODE = C.CLASS_CODE AND S.CLASS_CODE = #{classCode} ORDER BY STU_NUM 방법2 서브쿼리 SELECT STU_NUM , STU_NAME , STU_AGE , (SELECT CLASS_NAME FROM CLASS_IN..
1. mapper 수정하기 UPDATE SPRING_BOARD SET TITLE = #{title} , WRITER = #{writer} , CONTENT = #{content} WHERE BOARD_NUM = #{boardNum} 삭제 DELETE SPRING_BOARD WHERE BOARD_NUM= #{boardNum} 2. 인터페이스 serviceImpl 수정하기 void updateBoard(BoardVO board); 삭제하기 void deleteBoard(int boardNum); 수정하기 @Override public void updateBoard(BoardVO board) { sqlSession.update("boardMapper.updateBoard", board); } 삭제하기 @Ove..

1. mapper 게시글 등록 INSERT INTO SPRING_BOARD (BOARD_NUM ,TITLE , WRITER , CONTENT ) VALUES( BOARD_NUM_SEQ.NEXTVAL , #{title} , #{writer} , #{content} ) 상세페이지 SELECT BOARD_NUM , TITLE , CONTENT , WRITER , TO_CHAR(CREATE_DATE, 'YYYY.MM.DD') AS CREATE_DATE FROM SPRING_BOARD WHERE BOARD_NUM = #{boardNum} sequence CREATE SEQUENCE BOARD_NUM_SEQ START WITH 1 INCREMENT BY 1 NOCACHE; (시퀀스 사용하다보면 갑자기 숫자가 +20..

1. VO 만들기 (상속 사용하기) 1) BoardVO 2) PageVO (게시글 페이지) 생성자 만들기 public PageVO() { nowPage = 1; displayCnt= 15; displayPageCnt = 10; } public void setPageInfo() { 1 2 3 4 5 next prev 6 7 8 9 10 next 화면에 보이는 마지막 페이지 번호 Math.ceil 올림 함수 ceil이 double로 받아서 int로 바꿔준 것 endPage = displayPageCnt * (int)Math.ceil(nowPage/(double)displayPageCnt); beginPage = (endPage - displayPageCnt) +1; 전체 페이지 수 (만약 100개 게시물 있..

IOC Inversion Of Control 제어의 역전 사용해야 하는 객체를 만들어서 코드 개발( 원래 개발자가 함) 그러나 스프링에서는 객체를 스프링 컨테이너가 만들어 준다 why? 클래스 간 결합도를 낮추기 위해서 DI(Depandency Injection) 의존성 주입 spring에서는 자동으로 객체 만들어주기 위해서는 해당 패키지 안에 있어야 가능하다. 만약 패키지명 잘못 작성하면 프로젝트 지우고 다시 만드는것이 낫다. 기존 jsp controller에서는 MemberController(*.me) 로 실행한다고 한다면 spring에서는 MemberController("/member") 실행시킨다. http://localhost:8081/member/join 으로 실행된다. 1. 스프링이 프로젝트..