Database 7

[Database] Spring Boot 프로젝트와 MySQL DB 연결 (MVC, DTO)

MySQL 데이터베이스 연동 MVC application.properties 추가 spring.jpa.hibernate.ddl-auto= none 기본 값, 데이터베이스 구조는 변경되지 않는다. update Hibernate 주어진 엔터티 구조에 따라 데이터베이스를 변경한다. create 매번 데이터베이스를 생성하지만 닫을 때 DROP 하지 않는다. create-drop 데이터베이스를 생성하고 SessionFactory가 닫힐 때 삭제합니다. validate 엔티티와 스키마가 다르다면 예외발생 예시 # thymeleaf spring.thymeleaf.cache=false # jpa spring.jpa.hibernate.ddl-auto=none spring.jpa.generate-ddl=false spri..

[Database] Spring Boot 프로젝트와 H2 DB 연결

H2 DB 연결 자바 프로젝트에서 데이터베이스에 접근하는 방법 4가지 JDBC Driver Class Connection, Statement, ResultSet JDBC Template Class MyBatis(iBatis) XML에 SQL을 넣어서 사용 JPA SQL을 사용하지 않는다. 스프링부트 H2 데이터베이스 연결 방법 dependencies runtimeOnly 'com.h2database:h2' 추가 application.properties 추가 # H2 Database # H2 DB 콘솔화면을 활성화 spring.h2.console.enabled=true # H2 DB 콘솔화면 경로 (localhost:8080/h2-console) spring.h2.console.path=/h2-consol..

[SQL] JOIN (CROSS, INNER, OUTER, SELF)

조인 (Join) 두 개의 테이블을 연결하여 데이터를 검색하는 방법 서로 다른 테이블에 저장된 관련된 데이터를 가져와서 하나의 결과로 표시 (하나의 테이블) ANSI SQL 조인 방식 FROM 절에서 두 테이블명 사이에 조인 종류에 따라 CROSS, INNER, OUTER 중 선택하고 JOIN 키워드 같이 입력 조인에 대한 조건은 ON절에 저장하고 나머지 조건은 WHERE절에 작성 CROSS, INNER, OUTER 키워드는 생략도 가능 형태 SELECT * FROM 테이블A [CROSS|INNER|OUTER] JOIN 테이블B ON 조인조건 WHERE 기타조건; Non-ANSI SQL 조인 방식 FROM절에 테이블을 쉼표로 구분하여 작성 조인조건과 기타조건을 구분하지 않고 모두 WHERE 절에 작성 형..

SQL 2024.03.22

[SQL] 단일행 함수 (문자형, 숫자형, 날짜시간, 형변환, 제어흐름)

문자형 함수 CHAR_LENGTH(문자열) 문자의 개수 반환 LENGTH(문자열) 문자열에 할당된 바이트 수 반환 CONCAT(문자열들) 문자열들 연결 CONCAT_WS(구분자, 문자열들) 구분자와 함께 문자열 연결 GROUP_CONCAT(문자열) 자동으로 , 로 넣어서 구분하여 나열 LEFT(문자열, 길이)/RIGHT(문자열, 길이) 문자열의 왼쪽/오른쪽부터 길이만큼 문자열 반환 SUBSTR(문자열, 시작위치, 길이) 지정한 위치부터 길이만큼 문자열 반환 SUBSTRING_INDEX(문자열, 구분자, 인덱스) 지정한 구분자를 기준으로 문자열 분리 후 가져오는 함수 SQL은 인덱스가 1부터 시작한다. LPAD(문자열, 길이, 채울문자열)/RPAD(문자열, 길이, 채울문자열) 지정한 길이에서 문자열을 제외..

SQL 2024.03.22

[SQL] DB와 SQL의 기본

데이터 (Data) 관찰, 측정, 연구, 분석 등을 통하여 수집된 정보 데이터의 형태 정형 데이터 (Structured Data) 미리 정해진 형식과 구조에 따라 저장된 데이터 데이터 검색, 삽입, 수정, 삭제 연산 손쉽게 가능 주로 정형화된 업무나 서비스에 사용 엑셀의 스프레드 시트, 관계형 데이터베이스 테이블 반정형 데이터 (Semi-Structured Data) 구조화되어 있지 않아 연산 불가 데이터 내부의 데이터 구조에 대한 메타 정보를 함께 제공하는 파일 형식의 데이터 HTML, XML, JSON, 웹 로그, 센서 데이터 등 비정형 데이터 (Unstructured Data) 정해진 구조나 규칙이 없고 연산에 사용할 수 없는 형태의 데이터 소셜 데이터, 워드, PDF, 이미지, 영상 등 데이터베이..

SQL 2024.03.22

[Database] Java Project와 MySQL DB 연결 (JDBC)

자바 프로젝트와 MySQL DB 연결 MySQL Community Downloads Select Operating System: Platfrom Independent 선택 ZIP Archive로 다운로드 압축 풀기 폴더 안의 mysql-connector-j-8.3.0.jar 파일 복사 프로젝트 폴더에 lib 폴더 생성 후 붙여넣기 인텔리제이 Project Structure- Modules- Dependencies 이동 왼쪽에 + 버튼 누른 후 Jars or Directories 이동 후 위의 jar 파일 선택 데이터베이스 접속 및 쿼리문 실행하는 DAO 클래스 작성 테이블명DAO.java import java.sql.*; public class MemberDAO { //데이터베이스 접속 객체 Connec..