본문 바로가기

코딩 공부204

[JSP, MYSQL] MySQL 연동 오류(java.lang.ClassNotFoundException: com.mysql.jdbc.Driver) JDBC Driver를 찾을 수 없음 java.lang.ClassNotFoundException: com.mysql.jdbc.Driver java에서 MySQL을 사용하기 위해서는 JDBC Driver를 포함하는 mysql-connector.jar 파일이 필요합니다. 해결방안 1. mysql-connector 다운로드 후 압축 해제 (mysql-connector-xxx-xxx.jar)2. jar파일을 lib폴더에 넣거나 톰캣서버가 설치된 폴더에 넣는다. → 위와 같이 프로젝트의 lib폴더나 아파치 톰캣의 lib 폴더에 jar파일을 넣어주면 된다. 다운로드 https://dev.mysql.com/downloads/connector/j/ MySQL :: Download Connector/J MySQL Con.. 2022. 9. 26.
[SQL] Stored Program(프로시저, 사용자 지정 함수, 트리거, 트랜잭션) Stored Program 일련의 쿼리를 마치 하나의 함수처럼 실행하기 위한 쿼리의 집합으로 MySQL 안에서 프로그래밍 언어와 같은 기능을 제공하는 프로그램입니다. 자주 사용하는 복잡한 쿼리를 하나로 묶어서 이름으로 지정하여 이름을 호출하여 실행되도록 설정합니다. 특징 종류 개념 프로시저 특징 • 어떠한 동작을 일괄 처리하기 위한 용도 • 자주 사용되는 일반적인 쿼리를 모듈화 시켜 필요할 때만 호출 • MySQL 운영에 편리 단점 •유지 보수 복잡성 증가 - 애플리케이션의 설치나 배포가 더 복잡해짐 (각 기능을 담당하는 프로그램 코드가 자바와 MySQL 스토어드 프로그램으로 분산되어 관리하기 때문에) 형식 DELIMITER $$ -- 세미콜론을 사용하지만 종료가 아니라 끝나는 다시 나오기 전까지 실행 .. 2022. 9. 23.
[SQL] View View 사용자에게 접근이 허용된 자료만을 제한적으로 보여주기 위해 하나 이상의 기본 테이블로부터 유도된, 이름을 가지는 가상 테이블이다. 작동 방식 특징 1. 기본테이블로부터 유도된 테이블이기에 테이블과 같은 형태의 구조이며 조작도 테이블과 거의 같다. 2. 가상 테이블이기에 데이터의 논리적 독립성을 제공한다. 3. 뷰를 통해서만 데이터를 접근하여 뷰에 나타나지 않는 데이터 보안에 도움된다. 4. 필요한 데이터만 뷰로 정의해서 처리하기에 관리가 용이하고 명령문이 간단하다. 단점 1. 가상 테이블이기에 데이터의 논리적 독립성을 제공한다. 2. ALTER VIEW문을 사용할 수 없다. (뷰의 정의를 변경할 수 없다.) 3. 뷰로 구성된 내용에 대한 삽입, 삭제, 갱신, 연산에 제약이 따른다. MySQL 뷰.. 2022. 9. 23.
[SQL] Union Union 여러 개의 쿼리의 합집합으로 여러 개의 SQL문을 합쳐 하나의 SQL문으로 만들어주는 방법이다. → Join은 가로로 확장되며 합쳐지지만 Union은 세로로 확장되며 합쳐진다. 규칙 • 각 SELECT의 컬럼의 수가 같아야 한다. • 컬럼명이 같아야 한다. ( 같지 않을 경우 alias를 사용하여 같게 만듦) • 컬럼별 데이터타입이 같아야 한다. ( 반환 가능한 형태 ) • 하나의 ORDER BY만 사용한다. • SELECT문들의 순서는 상관없다. 1. UNION 여러 개의 쿼리의 중복 값을 제거한 결과이다. SELECT m.m_id AS memberId FROM tb_member AS m UNION SELECT g.g_seller_id AS memberId FROM tb_goods AS g .. 2022. 9. 22.
[SQL] Sub Query Sub Query SQL문 내에서 하위에 존재하는 쿼리 ( SQL문 안에 SQL ) 예시 SELECT * FROM tb_goods AS g WHERE g.g_price > ( SELECT AVG(subgs.g_price) FROM tb_goods AS subgs ); 1. 스칼라 서브쿼리 (Scalar Sub Query) • SELECT문에 있는 서브쿼리( 1행만 반환) 예시 SELECT *, ( SELECT AVG(subg.g_price) FROM tb_goods AS subg ) AS avg_price FROM tb_goods AS g; 2. 인라인 뷰 (Inline view) • FROM 절에 있는 서브쿼리 예시 SELECT * FROM tb_goods AS g JOIN ( SELECT AVG(su.. 2022. 9. 22.
[JSP, JAVA] JDBC JDBC(Java Database Connectivity) 자바를 이용한 데이터베이스 접속과 SQL 문장의 실행, 그리고 실행 결과로 얻어진 데이터의 핸들링을 제공하는 방법과 절차에 관한 규약으로 자바 프로그램 내에서 SQL문을 실행하기 위한 자바 API이다. (SQL과 프로그래밍 언어의 통합 접근 중 한 형태) 주요 클래스 및 인터페이스 DriverManger : JDBC 드라이버 로드 Connectoin : DB와 연결하기 위한 인터페이스 Statement : SQl을 보내기 위한 통로. 인자가 없음. PreparedStatement : Statement와 동일한데 차이점은 인자값으로 SQL을 받기 때문에 특정한 SQL에 대한 통로라고 생각하면 된다. CallableStatement : PL/SQL을.. 2022. 9. 21.