본문 바로가기

분류 전체보기134

DAO,DTO,VO,Entity DAO (Data Access Object) - Database에 접근하는 역할을 하는 객체● 프로젝트의 서비스 모델에 해당하는 부분과 데이터베이스를 연결하는 역할을 한다.● 데이터의 CRUD 작업을 시행하는 클래스이다.● 효율적인 커넥션 관리와 보안성을 위해 사용한다.● DAO는 비즈니스 로직을 분리하여 도메인 로직으로부터 DB와 관련한 메커니즘을 숨기기 위해 사용한다.// 1. DAO 인터페이스// 2. DAO 인터페이스를 구현한 클래스DTO (Data Transfer Object) - 데이터를 전달하기 위한 객체● 로직을 가지지 않는 순수한 데이터 객체(getter & setter만 가진 클래스)● 여러 레이어간 데이터를 주고 받을 때 사용할 수 있고 주로 View와 Controller 사이에서 활.. 2024. 6. 21.
DML,DDL,DCL DML (Data Manipulation Language) - 데이터 조작어데이터 베이스에 들어있는 데이터를 조회하거나 검색하기 위한 명령어를 말한다.SELECTINSERTUPDATEDELETE DDL (Data Definition Language) - 데이터 정의어테이블과 같은 데이터 구조를 정의하는데 사용되는 명령어들로 데이터 구조와 관련된 명령어들을 말한다.CREATEALTERDROPRENAMETRUNCATETRUNCATE : SQL에서 사용하는 명령어로 테이블의 모든 데이터를 빠르고 효율적으로 삭제하는데 사용된다.1. 속도 : 데이터를 삭제할 때 로그를 거의 생성하지 않거나 매우 적게 생성하기 때문에 DELETE명령어보다 훨씬 빠르다. 이는 특히 큰 테이블에서 유용하다. 주로 테이블을 재사용하기 .. 2024. 6. 21.
HikariCP HikariCP GitHubhttps://github.com/brettwooldridge/HikariCP GitHub - brettwooldridge/HikariCP: 光 HikariCP・A solid, high-performance, JDBC connection pool at last.光 HikariCP・A solid, high-performance, JDBC connection pool at last. - brettwooldridge/HikariCPgithub.com  Maven - HikariCPhttps://mvnrepository.com/artifact/com.zaxxer/HikariCP   HikariCP 라이브러리를 사용하기 위해서 다른 추가적인 라이브러리 설정이 필요하다.https://mv.. 2024. 6. 19.
JDBC 실습 - CRUD, SOLID, 성능최적화, SQL예외처리, HikariCP JDBC를 사용하여 학생 관리 시스템을 구축하기.-학생의 정보를 데이터베이스에 저장하고 관리하는 간단한 시스템을 구축한다.-학생 정보를 추가, 조회, 수정, 삭제할 수 있는 기능을 구현한다.1. 기능 요구사항 -학생 정보 추가 -학생 정보 조회 -학생 정보 수정 -학생 정보 삭제 2. 비기능 요구사항 -사용자 친화적인 콘솔 인터페이스 제공 -적절한 예외 처리 및 로그 기록 -데이터베이스 연결 풀 사용(HikariCP)코드 리팩토링SOLID 원칙1. 단일 책임 원칙(Single Responsibility Principle, SRP) : 클래스는 하나의 책임만 가져야 한다.2. 개방-폐쇄 원칙(Open/Closed Principle, OCP) : 소프트웨어 개체는 .. 2024. 6. 18.
employees database 더보기-- 1조 문제 -- 전직원 2000년도의 연봉을 출력하세요(출력 예시 : id , firstname, lastname,slalary)select e.emp_no, e.first_name, e.last_name, s.salaryfrom employees as ejoin salaries as s on e.emp_no = s.emp_nowhere s.from_date like '2000%';-- 'd004' 부서의 남자직원의 이름을 출력하세요 (출력예시 : firstname , M , 'd004' )select e.emp_no, e.first_name, e.last_namefrom employees as ejoin dept_emp as demp on e.emp_no = demp.emp_nojoin .. 2024. 6. 14.
subquery 서브 쿼리 서브쿼리(subquery)SQL 문장 내에서 다른 SQL 쿼리를 내포하는 구문이다.보통 소괄호( ) 안에 작성되며, 메인 쿼리(main query) 또는 외부 쿼리(outer query) 라고 하는 더 큰 SQL 쿼리의 일부로 존재한다. 서브쿼리는 메인 쿼리에 의해 반환된 데이터를 기반으로 추가적인 조건을 적용하거나 메인 쿼리의 조건을 정의하는데 사용된다. 문법 형태 select *from reservationwhere name in( select name from customer where address = '서울' ); 서브쿼리 사용하는 이유1. 복잡성 감소 : 복잡한 쿼리를 더 작고 관리하기 쉬운 부분으로 나누어 처리할 수 있다.2. 재사용성 : 같은 서브쿼리를 여러 쿼리에서 재사용할 수 있어 코드.. 2024. 6. 13.