본문 바로가기
네이버클라우드/JAVA 웹 프로그래밍

JAVA 43일차 (2023-07-21) 자바 프로그래밍_46. DBMS 도입하기_MySQLMemberDao__개인프로젝트 - 마트 관리 시스템

by prometedor 2023. 7. 21.

 

## 46. DBMS 도입하기

- DBMS 설치 및 사용법
- SQL 및 JDBC Driver 개념과 사용법
- 회원 및 게시판 테이블 정의 및 예제 데이터 입력 SQL 준비
- DBMS와 연동하여 작업하는 DAO 구현

 

ㄴ doc 이라는 이름의 폴더를 생성

 

ㄴ ddl 이라는 이름의 sql 파일을 생성

 

ddl.sql

ㄴ report_board 테이블을 생성

ㄴ board_no 를 primary_key 로 추가

ㄴ auto_increment 설정

 

터미널 이용하여 테이블 생성

 

ddl.sql

 

ㄴ report_member 테이블을 생성

ㄴ member_no 를 primary_key 로 추가

ㄴ auto_increment 설정

 

터미널 이용하여 테이블 생성

 

ㄴ report-common 프로젝트에 있는 AutoIncrement.java 와 CsvObject.java 파일 제거

 

Board.java

ㄴ CsvObject, AutoIncrement 는 이제 이용하지 않으므로 코드에서도 제거

 

Board.java

ㄴ boardNo 는 게시글 번호 자동 증가를 위한 변수였음

=> AutoIncrement 는 이제 데이터베이스에서 관리하므로 제거

 

Board.java

ㄴ 해당 코드들 제거

 

=> Member 와 Item 도 동일하게 작업해주기

 

ㄴ DaoBuilder.java 제거

 

ㄴ MySQLBoard.java 라는 새로운 클래스 파일 생성

 

MySQLBoard.java

=>

MySQLBoard.java

ㄴ Add unimplemented methods 선택하여 구현해야될 메서드들 모두 추가

 

ㄴ MySQLMemberDao.java 라는 새로운 클래스 파일 생성

 

MySQLMemberDao.java

ㄴ Add unimplemented methods 선택하여 구현해야될 메서드들 모두 추가

 

ClientApp.java

ㄴ 해당 코드 제거

 

ClientApp.java

ㄴ Connection 추가

 

ClientApp.java

ㄴ 일단 오류 노출되지 않도록 null 로 정의해놓기

 

ClientApp.java

ㄴ JDBC URL 적용

 

ClientApp.java

ㄴ MySQLMemberDao 객체를 생성하여 이용하도록 함

=> 생성자에 Connection 을 넘겨줌

 

MySQLMemberDao.java

=>

MySQLMemberDao.java

 

MySQLMemberDao.java

=>

MySQLMemberDao.java

=>

MySQLMemberDao.java

=>

MySQLMemberDao.java

=>

MySQLMemberDao.java

=>

MySQLMemberDao.java

=>

MySQLMemberDao.java

=>

MySQLMemberDao.java

ㄴ members -> list 로 변수 이름 변경

 

 

ㄴ data 라는 이름의 sql 파일 생성

 

data.sql

ㄴ report_member 테이블 예제 데이터를 저장할 sql 파일 작성

 

ㄴ data.sql 파일 내용을 복사하여 터미널에 붙여넣기

=> 데이터 입력하기

=>

 

data.sql

ㄴ report_board 테이블 예제 데이터를 저장할 sql 파일 작성

 

ㄴ data.sql 파일 내용을 복사하여 터미널에 붙여넣기

=> 데이터 입력하기

=>

=>

ClientApp.java 실행

 

 

MySQLMemberDao.java

ㄴ list 메서드의 내용을 복사하여 붙여넣은 후 수정

=>

ClientApp.java 실행

=>

ㄴ 데이터 잘 추가됨을 확인

 

 

MySQLMemberDao.java

ㄴ list 메서드의 내용을 복사하여 붙여넣은 후 수정

=>  list 는 필요 없으므로 제거

 

MySQLMemberDao.java

ㄴ list 가 아닌 Member 객체 m 만 리턴하면 됨

 

MySQLMemberDao.java

ㄴ sql 문 수정

=>

ClientApp.java 실행

 

 

MySQLMemberDao.java

ㄴ insert 메서드의 내용을 복사하여 붙여넣은 후 수정

=>

ClientApp.java 실행

=>

ㄴ 잘 변경됨을 확인

 

 

MySQLMemberDao.java

ㄴ update 메서드의 내용을 복사하여 붙여넣은 후 수정

 

ClientApp.java 실행

ㄴ 7번 삭제 시 제대로 삭제됨을 확인

 

ddl.sql

ㄴ 게시판에 카테고리 컬럼 추가

=> 일반 게시판과 공지 게시판을 구분하기 위한 컬럼

=>

ㄴ 임의로 board_no 가 5보다 큰 것은 category 를 1로 설정하고 board_no 가 5보다 작은 것은 category 를 2로 설정

=>

 

data.sql

ㄴ category 추가

 

data.sql

ㄴ board_no, member_no 추가

 

report_member, report_board 테이블 drop 후 다시 생성

=>

 

report_member, report_board 테이블에 데이터 다시 추가

=>

 

report_item 테이블 및 데이터 추가