[0430]Java Web開発プロセス🌞


⭐Back-end


Oracle


SELECT文


  • SELECT文:SELECT、FROM、WHERE、GROUP BY、HAVING、ORDER BY
  • WHERE:必要な行をフィルタリングするための章
  • GROUP BY/HAVING:グループクエリー
    GROUP BY:
  • に表示される非冗長情報
  • ORDER BY:ソートに使用される章
  • 集約関数


    SELECT COUNT(ID) FROM NOTICE; --1. NOTICE 테이블의 ID 개수 모두 세기
    SELECT AVG(HIT) FROM NOTICE; --2. NONTICE 테이블의 조회수 평균 구하기

    GROUP BY

    SELECT COUNT(ID), WRITER_ID FROM NOTICE GROUP BY WRITER_ID; --1. 작성자 아이디별 게시글 수 조회하기
    SELECT COUNT(ID), GENDER FROM MEMBER GROUP BY GENDER; --2. 성별에 따른 멤버 수 조회하기

    HAVING


    統計結果から必要な行をGROUP BYでフィルタ
    SELECT COUNT(ID), WRITER_ID FROM NOTICE GROUP BY WRITER_ID
    HAVING COUNT(ID) <= 2; --1. 작성자 아이디별 게시글 수가 2 이하인 행만 조회하기
    
    SELECT COUNT(ID), TITLE FROM NOTICE GROUP BY TITLE
    HAVING COUNT(ID) > 2; --2. 제목별 게시글 수가 2 초과인 행만 조회하기

    ORDER BY


    SELECT * FROM MEMBER ORDER BY NAME DESC; --회원의 이름을 내림차순으로 정렬해서 조회
    SELECT * FROM MEMBER WHERE NAME LIKE '박%' ORDER BY NAME; --'박'으로 시작하는 회원의 이름을 오름차순으로 정렬(Default: ASC)
    SELECT * FROM MEMBER ORDER BY NAME, NICNAME DESC; --회원의 이름은 오름차순으로, 닉네임은 내림차순으로 정렬해서 조회

    サブクエリ


    SQL文の内部で使用されるSELECT文は、SQL文の実行に必要な他のデータを問い合わせるために使用されます.
    SELECT * FROM (
        SELECT ROWNUM NUM, N.* 
        FROM (
            SELECT * FROM NOTICE 
            WHERE TITLE LIKE '%A%'
            ORDER BY REGDATE DESC
        ) N --서브쿼리: 제목에 A가 들어가는 게시글을 최신순으로 조회
    ) --서브쿼리 결과에 N이라는 별칭 붙이기, 
    WHERE NUM BETWEEN 1 AND 5; --ROWNUM에 NUM이라는 별칭을 붙여 서브쿼리 결과 1-5까지 출력하기

    ⭐Front-end


    JavaScript


    AJAX非同期要求データの使用


    XMLHttpRequestオブジェクトにはステータス情報があり、readyStateプロパティにはステータス情報の値があります.このステータス情報を表示して、応答があるかどうか、応答が正常かどうかを確認できます.
  • 0:要求が初期化されていません.
  • 1:サーバに接続します.
  • 2:リクエストが受け入れられます.
  • 3:リクエストが進行中です.
  • 4:要求が完了し、応答が得られる.
  • window.addEventListener("load", function() {
        var section = document.querySelector("#ex10");
        var requestBtn = section.querySelector(".btn-request");
    
        requestBtn.onclick = function(e) {
            var request = new /*window.*/XMLHttpRequest(); 
    
            /*request.onreadystatechange = function() { // 옛날 버전
                  if(request.readyState == 4) // 데이터가 다 왔을 때 아래 코드 출력
                      console.log(request.responseText); 
              }*/
    
            request.onload = function() { // 바뀐 버전
              console.log(request.responseText); // 요청한 데이터가 다 도착했을 때 이 코드를 출력해달라
            }
    
            request.open("GET", "http://localhost:8080/api/notice/list", true); // 무엇을 달라고 할 것인지 명시, true: 비동기 형식으로 요청(기본값, 생략 가능)/ false: 동기 형식으로 요청
            request.send(null);
    	}	
    });

    🐥の最後の部分


    今週から、学院で勉強する内容はgithubではなくvelogです.いずれにしても、1日の時間に、勉強の内容を記録しておくと、やはりvelogで記録したほうがいいので、プラットフォームを変えて、今githubは当日習ったコードしかアップロードしていません!
    先週JDBCの使い方を学びましたが、今週はそれをもとにJSPとJDBCを組み合わせて、データベースのデータを画面に出力するコードを作成してみました.また,各種SQL文を学習し,データベースから所望のデータを出力する練習も行った.
    公費支援の授業を受けながら、理論を学ぶだけでなく、チームメイトたちとペット管理サイト(petharu)のフロントを作り、今はフロントで働く日が遠くないようです...!少しでも毎日勉強を続けて、勉強したことを忘れないで、よく復習して、実力を高め続けなければなりません.👍

    コメントサイト


    AJAXって何?イベントのタイプ