분류 전체보기 13

[Spring Boot] 3. 롬복과 리팩터링

1) 롬복롬복(lombok): 코드를 간소화해 주는 라이브러리➔ 코드 반복 간소화➔ 로깅 기능 지원로깅(logging): 프로그램의 수행 과정을 기록으로 남기는 것리팩터링(refactoring): 코드의 기능에는 변함없이 코드의 구조/성능을 개선하는 작업 2) 롬복을 활용해 리팩터링(1) 롬복 설치하기설치 위치: firstproject > src > build.gradle 코드 안dependencies { compiledOnly 'org.projectlombok:lombok' annotationProcessor 'org.projectlombok:lombok' ... } // dependencies 안에 두 줄의 코드 추가 (2) DTO 리팩토링 (3) 엔티티 리팩토링생성자 ➔ @AllArgsCon..

[CODE]/Spring Boot 2026.05.29

[DB] MySQL DB 생성, MySQL - GitHub - eclipse 연결

1) MySQL DB 생성 MySQL 설치 및 실행 방법은 아래 글을 참고하길 바란다.MySQL 설치 + SQL 기초: https://www.notion.so/1-2a171eb963f0803ebfc5f272a82d6aba?source=copy_link 1주차 기술블로그 | Notion⁂ [SQL] 1장-2장www.notion.so 1. MySQL Commend Line Client 실행 Enter password: (포트 비밀번호 입력) - DB 생성mysql> CREATE DATABASE DB명 DEFAULT CHARACTER SET UTF8; - DB 확인mysql> SHOW DATABASES;2) 기초 SQL문 작성하기 1. GitHub Desktop 실행 - 기존에 만들어둔 repository c..

[CODE]/Database 2026.05.19

[Spring Boot] 프로젝트 파일 구조 이해하기

1. 파일 구조 소개📁 src├── 📁 main│ ├── 📁 java│ │ └── 📁 프로젝트_파일_패키지│ │ ├── 📁 controller│ │ ├── 📁 domain│ │ ├── 📁 repository│ │ ├── 📁 service│ │ └── 프로젝트_Application.java│ ││ └── 📁 resources│ ├── 📁 static│ ├── 📁 templates│ └── application.properties│└── 📁 test └── 📁 java📁 gradle├── wrapper 관련 파일build.gradlesettings.gradl..

[CODE]/Spring Boot 2026.05.18

[Spring Boot] 2. 게시판 CRUD 만들기 - form, DTO, repository

1) 폼 데이터를 DTO로 받기폼 데이터(form data): HTML 요소인 태그에 실려 전송되는 데이터 ➔ 데이터를 전송할 때 어디로, 어떻게 보낼지 등을 적어야 한다. 태그에 실어 보낸 데이터 - 서버의 컨트롤러 ➔ 객체에 담는다.이 때의 객체 = DTO(Data Transfer Object) ➔ 최종적으로 DB에 저장된다. (1) 입력 폼 만들기 1. 파일 생성 2. 코드 작성 3. 컨트롤러 생성 (2) 폼 데이터 전송하기폼 속성- action: URL 연결 주소 적어 해당 페이지로 데이터를 보낸다.- method: get/post (3) 폼 데이터 받기- 기존 controller에 @PostMapping 추가(post 방식으로 받는 경우) (4) DTO 만들기 1. 파일 생성 위치 2. 코드..

[CODE]/Spring Boot 2026.05.07

[Spring Boot] 1. 스프링 부트 개요 - 시작, MVC 패턴

1) 스프링 부트 시작하기스프링 부트(Spring Boot): 자바 웹 프로그램을 더욱 쉽고 빠르게 만들기 위한 도구 = 스프링 프레임워크를 개선한 것 특징개발 환경 설정을 간소화 ➔ 미리 설정된 스타터 프로젝트로 외부 라이브러리를 최적화해 제공한다.웹 애플리케이션 서버를 내장➔ 내부에 웹 애플리케이션 서버인 톰켓을 가지고 있다.➔ 웹 서비스를 jar 파일로 간편하게 배포할 수 있다. 개발 환경 설정 단계 1 - JDK 설치하기AdoptOpenJDK 설치 링크 AdoptiumEclipse Adoptium provides prebuilt OpenJDK binaries from a fully open source set of build scripts and infrastructure.adoptium.net..

[CODE]/Spring Boot 2026.05.03

[DB] 6. JDBC 연결 및 개념

1) Eclipse에서 데이터 베이스 연결하기기존 데이터베이스를 연결한다.package Student; // Student 패키지에 담는다.import java.sql.Connection;import java.sql.DriverManager;import java.sql.PreparedStatement;import java.sql.ResultSet;import java.sql.SQLException;import java.sql.Statement;public class Main { public static void main(String[] args) { // DB 연결 정보 설정 String url = "jdbc:mysql://127.0.0.1:3306/데이터베이스이름"; ..

[CODE]/Database 2026.04.10

[DB] 5. 데이터베이스 프로그래밍

1) 데이터베이스 프로그래밍데이터베이스 프로그래밍: DBMS에 데이터를 정의하고 저장된 데이터를읽어와 데이터를 변경하는 프로그램을 작성하는 과정 2) 저장 프로그램프로시저(PROCEDURE): 프로그램 로직을 프로시저로 구현하여 객체 형태로 사용한다.MySQL에서 프로시저(저장 프로그램)를 정의하는 과정1) 프로그램 정의 ➔ 2) 실행 ➔ 3) 실행 결과 ➔ 4) 개체 확인 -- 선언부(정의) (// 시작 종료 //) ← //, $$, ### 등 기호는 자유 사용 CREATE PROCEDURE AveragePrice ➔ 'AveragePrice'이름의 프로시저 생성-- 실행부(호출)CALL AveragePrice(@myValue) ➔ 프로시저 실행: 프로시저 값을 myValue에 담는다.프로시저의 제어문..

[CODE]/Database 2026.04.10

[DB] 4. SQL 고급(2) - 뷰, 인덱스

1) 뷰(VIEW)뷰: 하나 이상의 테이블을 합하여 만든 가상 테이블 뷰 특징실제 데이터 저장 x SELECT 쿼리 결과를 이름 붙여 재사용하는 객체다.기본적으로 읽기 전용데이터보안(특정 컬럼만 노출 가능), 재사용성(복잡 쿼리를 단순화),독립성(기본 테이블 구조 변경 시에도 뷰를 통해 동일한 인터페이스를 제공) 뷰 생성 사용법)CREATE VIEW 뷰이름 [(열이름 [, ... n])]AS SELECT 문 예시 코드 1) - CREATE VIEW로 뷰를 만들고 FROM으로 불러 사용할 수 있다.[ ! ] 뷰 문에서 AS는 생략 불가능하다 - 뷰 생성 확인 뷰를 생성하면 왼쪽 리스트의 해당 테이블 안에 표시된다. 예시 코드 2) 코드의 낭독성을 위해 SELECT의 인자가 많다면 위와 같이 작성하는 것을..

[CODE]/Database 2026.04.09

[DB] 4. SQL 고급(1) - 내장함수, NULL, 비교문, 부속질의

1) 내장함수, NULL, 비교문 SQL 함수의 종류내장함수: DBMS가 제공사용자 정의 함수: 사용자 필요에 따라 직접 만듦 MySQL에서 제공하는 주요 내장 함수구분함수단일행 함수숫자 함수ABS, CEIL, COS, EXP, FLOOR, LN, LOG, MOD, POWER, RAND, ROUND, SIGN, TRUNCATE문자 함수(문자 반환)CHAR, CONCAT, LEFT, RIGHT, LOWER, UPPER, LPAD, RPAD, PTRIM, RTRIM, REPLACE, REVERSE, RIGHT, SUBSTR, TRIM문자 함수(숫자 반환)ASCII, INSTR, LENGTH날짜, 시간 함수ADDDATE, CURRENT_DATE, DATE, DATEDIFF, DAYNAME, LAST_DAY, ..

[CODE]/Database 2026.04.03

[DB] 3. SQL 기초(2) - 부속질의, 데이터 정의어, 데이터 조작어

1) 부속질의(서브쿼리): SELECT 문 안에 또 다른 SELECT 문을 포함하는 질의ex) SELECT ( -- 부속 질의문)➜ 안쪽 부속 질의문 먼저 수행하고, 해당 결과를 이용해 상위 질의문 수행 연산자 연산자설명IN / NOT IN부속 질의문 결과 값 중 일치하는 것 있으면/없으면 조건 참EXISTS / NOT EXISTS부속 질의문 결과 값 중 하나라도 존재하면/하나도 존재하지 않으면 조건 참ALL / ANY, SOME부속 질의문 결과 값 중 모두/하나라도 비교한 결과가 참 -> 조건 참 /* === 부속 질의문 예제 ==*/-- 가장 비싼 도서의 이름을 나타내세요.SELECT booknameFROM BookWHERE price = (SELECT MAX(price) FROM Book);-- 대..

[CODE]/Database 2026.03.26