본문 바로가기

코딩 학원(국비지원)

71일차 코딩학원

반응형

코딩학원 공부내용 정리


1. 어제 저녁에 인터페이스의 다형성에 대해 강의를 들었는데 이해가 되지 않는 점이 있다. 

 

2. 이번주는 능력단위 평가를 하지 않고 다음주에 금요일에 한다. 이번 주 부터는 게시판 만들기에 들어간다. 게시판 만들기 하면서 했던 것을 팀프로젝트에 적용시켜 볼 것. 한번에 되지 않기 때문에 사이클을 계속 돌려야 한다. 

 

3. 쉬는 시간마다 개인프로젝트 코드 입력하기. 

 

4. 내용이 어렵네. 각각의 역할이 무엇인지 설명한는데 이해가 되지 않는다. 

 

5. Java에서 DB를 관리하기 위해 JDBC가 고안되었는데, DB가 방대해지고 각 data간 관계가 복잡해짐에 따라 다수의 메서드를 호출하고 관련 객체를 해제해야 하는 문제점이 생겼다. 이런 문제점을 해결하고 더욱 효과적으로 DB를 관리하기 위해 MyBatis가 탄생했다. 결국 DB를 관리하는 수단이다. 뭔가를 입력하면 입력, 조회, 삭제, 업데이트 등이 된다. 

 

6. 현재 문제 : 이해가 잘 안된다. 그럼 일단 외워본다. 

 

7. DB는 중간 중간 저장을 계속 해줘야한다. 변경값이 반영이 안 됨. 

 

8. 아래 사진과 같은 게시판을 만들기 위해 mybatis를 사용한다. 

9. 계속 @Test를 하고 있다. select, delete, insert 등 데이터베이스를 만드는 연습이다. 

 

10. MyBatis 사용하는 절차 

1) 데이터베이스 설정 : MyBatis 설정 파일을 작성하여 데이터베이스 연결 정보를 설정한다. 

2) 매퍼 작성 : MyBatis는 SQL매퍼를 작성하여 데이터베이스 쿼리를 처리한다. 매퍼는 데이터베이스와 상호작용하는 메서드를 정의하는 인터페이스다. 각 메서드는 해당 쿼리를 실행하고 결과를 반환한다. 

3) 쿼리작성 : 매퍼에 작성한 메서드에는 SQL쿼리가 포함된다. 이를 통해 DB에서 데이터를 검색하거나 삽입, 수정, 삭제 작업을 수행할 수 있습니다. 

4) 서비스 및 컨트롤러 작성 : MyBatis를 사용하여 db와 상호작용하는 비즈니스 로직을 구현하는 서비스 클래스와 웹 애플리케이션에서 요청을 처리하는 컨트롤러를 작성한다. 사용자는 게시판을 조회, 작성, 수정, 삭제할 수 있도록 한다. 

 

11. 어떻게 Java언어와 DB는 상호작용을 할 수 있을까? JDBC라는 API 덕분이다. 

 

12. 관리자와 사용자는 권한이 다르다. 관리자는 모든 게시글을 삭제할 수 있다. 사용자는 자기가 쓴 것만 삭제할 수 있다. 

13. DTO는 뭐고 Dao는 뭐야 

 

14. page 네비게이션. 게시글 아래 숫자표시

 

15. 게시판 용어 정리 

16. offset : 시작점으로 이해하자. 얼마나 떨어져있는가?    

  

 - offset  
            - 게시물 맨 처음부터 얼마나 떨어져 있는지 나타내는 수    
                - page          offset 
                 ----------------------
                 1                  0
                 2                  10
                 3                  20
                 4                  30
                 5                  40 

 

17. row_count 

- (앞으로)읽어올 row의 수 

 

18. 게시판은 굉장히 복합적인 기술이 들어간다. 지역변수를 보라...  세세하게 다들어가야됨. 

package com.earth.heart.domain;

public class PageResolver {
	
	private int totalCnt;				// 게시물 총 개수 (DTO개수)
	private int pageSize;				// 한 페이지당 게시글 개수 
	private final int NAV_SIZE=10;		// page navigation size
	
	private int totalPage;				// 전체 페이지 개수 
	private int page; 					// 현재페이지 
	
	private int beginpage; 				// 내비게이션 첫 페이지 숫자 
	private int endpage; 				// 내비게이션 마지막 페이지 숫자 
	private boolean showNext = false;	// 다음 페이지로 이동하는 링크를 보여줄지 여부
	private boolean showPrev = false;	// 이전 페이지로 이동하는 링크를 보여줄지 여부	
	
}

 

19. 검색했을 때 게시판 설정도 꽤 복잡하다. 

 

20. 지금하는것은 게시판 설계도다. 설계도로 게시판을 만든다. 

 

21. SI에서는 Mybatis를 사용한다? 

반응형

'코딩 학원(국비지원)' 카테고리의 다른 글

73일차 코딩학원  (3) 2023.05.03
72일차 코딩학원  (0) 2023.05.02
70일차 코딩학원. 오류하나 덕분에 하루종일 고민함  (0) 2023.04.28
69일차 코딩학원  (0) 2023.04.27
68일차 코딩학원  (0) 2023.04.26