Spring
-
08 게시판 검색 기능 추가하기(2)Spring/03 MyBatis로 게시판 만들기 2023. 7. 23. 14:00
게시판 검색 기능 추가하기(2) 1) 실습 - 게시판 검색 기능 추가하기(1) 2-1) 실습에서 이어진다 BoardServiceImpljava BoardService.java - Board 컨트롤러로 가기 전에 page와 pageSize을 SearchCondition.java에 만들어 주었다 (+option ,keyword) 따라서 PageHandler.java를 수정하여 Board 컨틀로러의 List를 변경한다 PageHandler.java(수정) >> SearchCondition.java에 page와 pageSize을 가지고 있고 추가로 option, keyword의 값을 가지고 있다\ >> 생성자에 doPaging( )호출하게 하였다 >> 이전에 page값을 sc.getPage( )와 sc.getP..
-
07 게시판 검색 기능 추가하기(1)Spring/03 MyBatis로 게시판 만들기 2023. 7. 21. 19:53
게시판 검색 기능 추가하기(1) 1) 게시판 검색 >> 검색을 누르면 option과 keyword가 컨트롤러에 전송 된다 이제까지는 page와 pageSize만 전송했지만 option과 keyword도 추가될 것이다 2) MyBatis의 동적 쿼리(1) - 과 - 공통 부분을 로 정의하고 로 포함시켜 재사용 2) MyBatis의 동적쿼리(2) - >> if else로 사용할 수 없고, if만 사용가능 >> A : 내용+제목, T : 제목, W : 작성자 >> WHERE true이가 들어간 이유 true가 없다면? WHERE AND가 SQL 문법 에러가 발생한다 그럼 AND가 없다면? 조건에 맞는게 여러개 일 수 있기 때문에 AND를 넣어줘야 한다 조건이 연결되려면 AND, OR가 연결되어야한다 ※ if문..
-
06 게시판 읽기, 쓰기, 삭제, 수정 기능 구현(2)Spring/03 MyBatis로 게시판 만들기 2023. 7. 18. 21:14
게시판 읽기, 쓰기, 수정, 삭제 구현(2) 1) 게시물 쓰기 기능의 구현(1) >> board.jsp에서는 게시글 읽기, 게시판 글쓰기 두 가지 용도로 사용 될 것이다 (1)게시글 읽기 일때는 속성값 : readOnly (2)게시글 글쓰기는 속성값 : readOnly 해제 >> write( )에서 글 쓰기일 때 mode=new를 board.jsp에 전달 mode=new로 (1)번과 (2)번을 구별한다 1-1) 실습 (쓰기 버튼 구현) boardList.jsp (테이블만 가져옴) boardController.java >> write( )에서 글 쓰기일 때 mode=new를 board.jsp에 전달 board.jsp(게시물 부분만 가져옴) >> bno의 변경하였다 결과 확인 >> 게시물 글쓰기에서는 글이나..
-
05 게시판 읽기, 쓰기, 삭제, 수정 기능 구현(1)Spring/03 MyBatis로 게시판 만들기 2023. 7. 16. 23:22
게시판 읽기, 쓰기, 수정, 삭제 구현 1) 기능별 URI 정의 >> URL : 전체 경로, URI : 일부 경로 2) 게시물 읽기 기능의 구현 2-1) 실습 BoardController.java( read메서드 추가) board.jap(작성) >> body부분만 가져왔고, 이전 boardList.jsp에서 테이블을 빼고 을 추가 결과 확인 >> board.jsp의 속성값을 readonly로 했다 >> URL창에 bno값을 입력해야된다 3) 목록 버튼 구현 >> 목록에서 /board/list GET요청을 주면 처음 페이로 돌아간다 >> 목록으로 돌아갈 때, 처음으로 돌아가는게 아니라 보던 페이지로 돌아가도록 구현 3-1) 실습 (목록 버튼 구현) boardList.jsp(테이블만 가져옴) >> 게시판 t..
-
04 게시판 목록 만들기와 페이징-TDD(2)Spring/03 MyBatis로 게시판 만들기 2023. 7. 14. 18:38
게시판 목록 만들기와 페이징-TDD(2) 게시판 목록 만들기 - 이전 『02 MyBatis로 DAO작성하기』의 실습에서 BoardDao.java와 BoardDto,BoardDaoImpl.java를 만들었다 - @Repository계층을 만듬 - 다음 과정은 @Service계층 만들 것이다 BoardDao.java (참고) BoardDaoImplTest.java(게시판 board DB에 데이터 값을 넣었다) 1) @Service 만들기 실습 BoardServiceImpl.java( com.fastcampus.ch4/service/BoardServiceImpl.java생성) ① @Autowired로 BoardDao를 주입 ② BoardDao.java의 메서드를 호출할 수 있도록 작성하였다 ③ 대부분의 메서드..
-
03 게시판 목록 만들기와 페이징-TDD(1)Spring/03 MyBatis로 게시판 만들기 2023. 7. 13. 21:21
게시판 목록 만들기와 페이징-TDD(1) 1) 게시물 목록 페이징 >> boardList.jsp에 작성하기 전에 TDD로 테스트 진행 2) LIMIT [offset,] row_count - LIMIT 10 , 10을 주면 아래와 같이 잃어옴 >> offset : 맨 처음부터 얼마만큼 떨어져있는가 row_count : 읽어올 row의 수 >> 1페이지 보려면 offset이 0이여야 한다 2페이지는 offset이 10이여야 한다 이 패턴으로 계산식을 만들면 (page-1)*10과 같다 3) 실습 PageHandler.java (com.fastcampus.ch4/domain/ PageHandler(생성) >> toString( ), getter and setter 추가 할 것 //처음 생각했을때 beginPa..
-
02 MyBatis로 DAO작성하기Spring/03 MyBatis로 게시판 만들기 2023. 7. 11. 19:45
MyBatis로 DAO작성하기 1) BoardDao의 작성 >> 작업 순서 ① → ② → ③ → ④ 이지만, ① → ② → ③ → ④ 으로 Extract Interface를 이용하여 편하게 할 수도 있다 2) DTO란? - Data Transfer Object - 계층간의 테이터를 주고 받기 위해 사용되는 객체 - 분리된 대상에 Model을 사용했던 것처럼 DTO가 사용된다 - DTO : 각 계층간에 데이터 전달 >> VO(Value Object) 라고도 사용되지만 VO는 immutable(불변)이기 때문에 DTO와 같은 용어로 사용되는건 잘 못 되었다 ※ 예외처리 @Repository에서 예외처리 한다면? @Service에서 try{ 커밋 } catch{ 롤벡 }으로 처리 하기 때문에 @Reposito..
-
01 MyBatis의 소개와 설정Spring/03 MyBatis로 게시판 만들기 2023. 7. 10. 21:55
MyBatis의 소개와 설정 1) MyBatis란? - SQL Mapping Framework - Easy & Simple - 자바 코드로부터 SQL문을 분리해서 관리 - 매개변수 설정과 쿼리 결과를 읽어오는 코드를 제거 - 작성할 코드가 줄어서 생산성 향상 & 유지 보수 편리 1-1) 실습(설정) DB 테이블 만들기 pom.xml >> spring에서 mybatis를 사용하기 위해서 위의 2개 모듈이 필요하다 2) SqlSessionFactoryBean과 SqlSession Template - SqlSessoinFactory - SqlSession을 생성해서 제공 - SqlSession - SQL 명령을 수행하는데 필요한 메서드 제공 - SqlSessionFactoryBean - SqlSessionFa..