TaBo
개척하는 기록
TaBo
전체 방문자
오늘
어제
  • 기록들 (63)
    • Programming (35)
      • Java (19)
      • Servlet&Jsp (4)
      • Spring (4)
      • SpringBoot (1)
      • 기타 (2)
      • BOJ (5)
    • CS (16)
      • 자료구조 (4)
      • 알고리즘 (4)
      • 운영체제 (5)
      • 기본 용어 (3)
    • Project (4)
      • [Spring] 게시판 (4)
    • 나에 대한 기록 (8)

블로그 메뉴

  • Github

인기 글

태그

  • 알고리즘
  • 백준
  • 운영체제
  • 스프링 게시판
  • Spring 게시판
  • java
  • c++
  • spring
  • 자바
  • OS

최근 글

티스토리

hELLO · Designed By 정상우.
TaBo

개척하는 기록

나에 대한 기록

[기록] 매일 코딩하기 - 10월 말

2022. 10. 30. 22:12

이번 학기는 컴퓨터학과 강의 없이 본 전공으로만 학점을 꽉 채워 바쁘다는 핑계로 코딩 공부를 자꾸 미루고 있다. 잠을 조금이라도 줄여 매일 아침 60분이라도 코딩을 하고, 그날 배운 것을 기록할 계획이다.

 

2021/10/29 (토)

(1) Java에서 DB로 쿼리문을 전송할 때 JDBC의 Statement나 PreparedStatement 인터페이스를 사용할 수 있다. Statement는 쿼리문에 값이 미리 입력되어 있어야 하는 반면, PreparedStatement는 인수에 대해 '?'라는 placeholder를 활용하여 쿼리문을 정의할 수 있다. 즉, 동일한 SQL문을 특정 값만 바꿔 여러번 실행해야 할 때 PreparedStatement가 더 효율적인 것이다.

 

Statement와 PreparedStatement의 가장 큰 차이는 '캐시 사용 유무'이다. 쿼리문은 '쿼리 문장 분석 -> 컴파일 -> 실행'의 과정을 거쳐 실행되는데, Statement는 SQL문을 실행할 때마다 세 단계를 모두 거치는 반면, PreparedStatement는 처음 실행될 때만 세 단계를 모두 거친 후 캐시에 담아 재사용된다.

 

 

2021/10/30 (일)

(1) Interface - UI, API 복습

(2) Java에서 %d 등의 서식문자를 활용하려면 printf를 사용해야 한다.

(3) Java의 for-each문 = for( type var : iterate ) { } 

(4) Java의 break label 문

Java의 break는 가장 가까운 반복문만 종료하기 때문에 중첩된 반복문을 탈출할 수 없다. 중첩 반복문을 탈출하기 위해서는

break 라벨명; 을 사용한다.

 

(5) MySQL 페이징 쿼리

MySQL에서 페이징 쿼리는 LIMIT, OFFSET을 활용한다. (물론 rownum을 활용할 수도 있다)

 

- A만큼 행 출력

SELECT * FROM 테이블명 ORDERS LIMIT A;

 

- B+1 행부터 A만큼 행 출력

SELECT * FROM 테이블명 ORDERS LIMIT A OFFSET B;

 

※ OFFSET은 index를 타지 않으니 대용량 데이터 조회시에는 LIMIT A, B (단, A+1행부터 B행 출력)

SELECT * FROM 테이블명 ORDERS LIMIT A, B;

 

- 만약 특정 칼럼을 기준으로 역순으로 출력하고 싶다면

SELECT * FROM 테이블명 ORDER BY 기준칼럼 DESC LIMIT A, B;

 

 

2021/10/31 (월)

(1) scalar (스칼라) : 방향을 갖지 않고 크기만 갖는 개념 - 즉, 스칼라값을 구하는 것 = 단일값 구하는 것

(2) JDBC에서 Statement나 PreparedStatement로 쿼리문 실행 후 결과집합 받을 때에는 column의 이름을 받아온다.

 

그러므로 count, sum, max, min, avg 등의 Aggregate Functions을 활용할 때

SELECT COUNT(id) FROM 테이블명;

의 결과집합 column의 이름은 'COUNT(id)'가 되므로 별칭을 활용하자.

 

(3) Scanner를 close()하고 다시 사용하려고 할 때 java.util.NoSuchElementException: No line found가 발생한다. 

      →  그렇다면 Scanner는 언제, 어떻게 close() 해야 하는 것인가?

 

(4) 검색 쿼리문

SQL의 검색 쿼리문을 작성할 때 String Operation 인 %와 _를 활용할 수 있다. (단, LIKE 연산자와 함께 사용한다)

%는 '모든 문자'를 의미하고, _ 는 '한 글자'를 의미한다.

 

※ LIKE 구문은 WHERE 절에서 주로 사용된다.

 

저작자표시 비영리 변경금지

'나에 대한 기록' 카테고리의 다른 글

[독서 기록] 스프링5 프로그래밍 입문 - 최범균 저  (5) 2023.01.29
[기록] 1월 둘째 주 질문 정리  (1) 2023.01.16
[기록] 매일 코딩하기 - 11월 셋째 주 (Servlet 출력-입력 형식, 서블릿 필터, 입력 데이터 배열로 받기)  (1) 2022.11.14
[기록] 매일 코딩하기 - 11월 둘째 주 (Servlet 기초)  (1) 2022.11.11
[기록] 매일 코딩하기 - 11월 첫째 주(웹 기초, tomcat)  (1) 2022.11.07
    '나에 대한 기록' 카테고리의 다른 글
    • [기록] 1월 둘째 주 질문 정리
    • [기록] 매일 코딩하기 - 11월 셋째 주 (Servlet 출력-입력 형식, 서블릿 필터, 입력 데이터 배열로 받기)
    • [기록] 매일 코딩하기 - 11월 둘째 주 (Servlet 기초)
    • [기록] 매일 코딩하기 - 11월 첫째 주(웹 기초, tomcat)
    TaBo
    TaBo

    티스토리툴바