전체 글 92

JDBC 처음부터 끝까지 사용해 보기(proj-Bookmall)-2

https://github.com/stpn94/mariadb-practices/tree/master/jdbc-practices/src/main/java/bookmall - bookmall VO DAO TEST 들이 있는 git 주소 https://github.com/stpn94/mariadb-practices/tree/master/jdbc-practices 이거는 SQL TEST한것과 워크벤치로만든 ERD가 있다. JDBC 필자는 maven을 써서 프로젝트를 만들었다. pom.xml에 디펜던시를 추가했다. org.mariadb.jdbc mariadb-java-client 2.7.2 JUnit을 사용해서 TEST 안해서 test패키지않에 main으로 test 한다. 요구사항 회원 리스트 – 2명 출력은 이..

Dev/Java 2021.10.07

Servlet & JSP 기초 알아가기 1

Servlet & JSP 일딴 Servlet & JSP 하기 전에 네트웍의 이해가 필요하다. 무작정 따라 하면 그냥 아... 이게 이거구나 하고 넘어 갈수는 있지만 그래도 알고 가자. 필자가 다 알지는 못해도 내가 알고 있는것 기반으로 적을껀데 틀린 것 있으면 피드백 부탁드립니다. 인터넷( 네트웍 통신)의 이해 인터넷 (Internet) TCP/IP 기반의 네트워크가 전세계적으로 확대되어 하나로 연결된 네트워크들의 네트워크 (네트워크의 결합체) TCP / IP 하드웨어, 운영체계, 접속 매체와 관계없이 동작할 수 있는 개방형 구조 OSI 7 계층에서 4계층으로 단순화. TCP/IP 가 정말 중요한데 잘 모르는게 현실이다. 위의 내용은 너무 사전적이라 외우기도 싫다. 그래서 최대한 쉽게 정리해보겠다. 일딴..

Dev/Servlet&JSP 2021.10.07

JDBC 처음부터 끝까지 사용해 보기(proj-Bookmall)-1

환경 - 리눅스 - mariadb - jdbc - java 1.8 - 워크벤치 # 계정 만들기 #ERD 만들기 ## 요구사항대로 Table 만들기 온라인 서점 - 카테고리(category) 모든 서적(상품)은 카테고리로 분류 된다. 1차 카테고리로만 분류하도록 한다. 예) 소설, 수필, 컴퓨터/IT, 인문, 경제, 예술 - 서적(book) 다음 정보를 제공하도록 한다. 제목, 가격 - 고객(member) 고객(회원)정보는 다음 내용이 필요하다. 이름, 전화번호, 이메일, 비밀번호, - 카트(cart) 사용자는 카테고리 별 또는 검색 결과의 도서 리스트에서 카트로 도서를 담을 수 있다. 사용자(회원)은 자신만의 카트가 존재하며 확인할 수 있는 카트의 내용은 다음과 같다. 도서 제목, 수량, 가격 - 주문(..

Dev/Java 2021.10.05

JDBC (Programming)

JDBC 개요 - 정의 JDBC(Java Database Connectivity)의 정의 자바를 이용한 데이터베이스 접속과 SQL 문장의 실행, 그리고 실행 결과 로 얻어진 데이터의 핸들링을 제공하는 방법과 절차에 관한 규약 자바 프로그램내에서 SQL문을 실행하기 위한 자바 API SQL과 프로그래밍 언어의 통합 접근 중 한 형태 개발자를 위한 표준 인터페이스인 JDBC API와 데이터베이스 벤더, 또는 기타 써드파티에서 제공하는 드라이버(driver) JDBC 개요 - 환경 구성 JDK 설치 http://java.sun.com JDBC 드라이버 설치 오라클 JDBC 드라이버를 다운로드 받는다 http://dev.mysql.com/downloads/connector/j/#downloads mysql-co..

Dev/Java 2021.10.05

Database Modeling(DB Schema, 정규화)

DBMS (데이터 베이스) 설계 어떤 데이터를 저장할 것인가? 음원검색 ( 네이버 뮤직 ) 데이터베이스 설계를 하는 주된 목적 중복성 제거 정규화 (Normalization) 데이터베이스 설계를 도식화한 도표 엔티티(entity), 속성(attribute), 관계(relation) 3가지 요소로 구성 엔티티(entity) 데이터가 저장되어야 하는 중요한 사물, 물체 엔티티에 대한 정보는 속성, 관계의 폼으로 저장 엔티티 속성(attribute) 엔티티의 정보들 (0 혹은 여러개) 엔티티 인스턴스(테이블에서의 열)는 각각 정확하게 하나의 값 또는 NULL(empty)일 수 있다. 각 속성의 값은 숫자, 문자열, 날짜, 시간, 혹은 다른 기본적인 데이터의 값 어떤 것이 엔티티 이고 속성 일까? 엔티티 네이밍..

Dev/Mysql(MariaDB) 2021.10.05

MariaDB - DML

데이터 조작어 ( DML ) 데이터 삽입 ( INSERT ) INSERT INTO 테이블명(필드1, 필드2, 필드3, 필드4, … ) VALUES ( 필드1의 값, 필드2의 값, 필드3의 값, 필드4의 값, … ) INSERT INTO 테이블명 VALUES ( 필드1의 값, 필드2의 값, 필드3의 값, 필드4의 값, … ) 필드명을 지정해주는 방식은 디폴트 값이 세팅되는 필드는 생력할 수 있다. 필드명을 지정해주는 방식은 추 후, 필드가 추가/변경/수정 되는 변경에 유연하게 대처 가능 필드명을 생략했을 경우에는 모든 필드 값을 반드시 입력해야 한다. [예제10] member의 컬럼에 각자의 데이터를 입력해 보세요. 주) 한글 입력전에 set names utf8 를 입력 하세요. auto_increment..

Dev/Mysql(MariaDB) 2021.10.05

MariaDB - 데이터타입과 DDL

MySQL 데이터 타입 데이터 정의어 ( DDL ) Table 생성 create table 테이블명( 필드명1 타입 [NULL | NOT NULL][DEFAULT ][AUTO_INCREMENT], 필드명2 타입 [NULL | NOT NULL][DEFAULT ][AUTO_INCREMENT], 필드명3 타입 [NULL | NOT NULL][DEFAULT ][AUTO_INCREMENT], ........... PRIMARY KEY(필드명) ); 데이터 형 외에도 속성값의 빈 값 허용 여부는 NULL 또는 NOT NULL로 설정 DEFAULT 키워드와 함께 입력하지 않았을 때의 초기값을 지정할 수 있다. 입력하지 않고 자동으로 1씩 증가하는 번호를 위한 AUTO_INCREMENT 예제1 다음과 같은 TABLE ..

Dev/Mysql(MariaDB) 2021.10.05

MariaDB - 데이터 검색 (SUBQUERY)

SUBQUERY -- 맛보기) 현재 Fai Bale이 근무하는 부서에서 근무하는 직원의 사번, 전체 이름을 출력해보세요. SELECT * FROM employees a, dept_emp b WHERE a.emp_no = b.emp_no AND b.to_date = '9999-01-01' AND CONCAT(a.first_name, ' ', a.last_name) = 'Fai Bale'; SELECT a.emp_no, a.first_name FROM employees a, dept_emp b WHERE a.emp_no = b.emp_no AND b.to_date = '9999-01-01' AND b.dept_no = 'd004'; -- 위 두 쿼리를 합쳐보자. SELECT a.emp_no, a.first_..

Dev/Mysql(MariaDB) 2021.10.05