DAY_038[국비] 자바 웹프로그래밍 과정

Bona의 블로그 입니다.·2022년 11월 21일
0

국비과정

목록 보기
39/99

 🌞 Day 038 

  • JDBC

 🌱 BOOKLIST Select 


 🌱 BOOKLIST Insert 


 🌱 BOOKLIST Update 


 🌱 BOOKLIST Delete 



 🌲 MEMBERLIST - 준비 

  • memberlist는 date 자료형이 사용되어서 booklist보다 조금 복잡해지는 코드가 있다.

  • 이번에는 select, insert, update, delete를 따로 만들지 않고 한 곳에서 만들어 사용자가 기능을 선택할 수 있게 한다.


 🌱 Memberlist_main 

main이 되는 클래스이며, 프로그램이 실행되는 클래스

1. 먼저 main 메서드를 만든다

  • 이 클래스에서 프로그램이 실행되기 때문에 dao, dto에는 main메서드를 만들지 않는다.

  • select(), insert(), update(), delete() 메서드들을 순서대로 만든다. select가 먼저 완성 되어야 다른 메서드를 만들 때 조회하면서 잘 작동되었는지 확인할 수 있기 때문이다.

  • 메서드를 만들기 전에 memberlist의 필드값들을 담을 객체를 생성할 클래스, 데이터베이스와 연결하고 CRUD 작업을 정리할 클래스를 생성한다.

  • 메서드들은 Membermain과 Memberdao를 왔다갔다 하면서 하나씩 생성한다.


 🌱 MemberDto 

  • Dto : Data Transfer Object(데이터 전송 객체) 다른 말로 JAVA Bean

  • 이 파일은 뒤에 만들 Dao와 main에서 사용될 객체의 정보를 담은 클래스

  • memberlist의 필드 값들을 담아서 전달할 객체로서 변수들을 private으로 설정하여 직접적인 선언을 막고 getter와 setter로 값을 가져오고 설정하는 객체를 만든다.


 🌱 MemberDao 

  • Dao : Database Access Object

  • 데이터베이스 관련 작업과 데이터 이동을 전담하는 클래스이며,

  • 연결에 필요한 정보는 멤버변수에 저장해서 사용한다.

  • 연결과 각 CRUD(Insert, Select, Update, Delete 네동작을 지칭하는 약자)작업을 멤버 메서드를 만들어서 작동하게 한다.

1. 먼저 연결과 종료를 메서드로 만든다.

  • 연결과 관련된 변수들을 멤버 메서드로 만든다
    ➡️ 한 번 생성해서 계속 가져가 쓰기 위해서

  • 연결 객체를 생성하는 메서드를 만들어서 이 메서드 호출만으로 DB연결이 되도록 한다.
    ➡️ Connection 객체를 리턴하는 getConnection메서드

  • 사용한 객체들은 close()해야한다. 사용한 객체들을 한 번에 close() 하도록 메서드 생성 ➡️ colse() 메서드



 🌲 MEMBERLIST - Select 

 🌱 Memberlist_main 

 🌸 select()메서드 만들기 

  • Menberlist_main 클래스의 멤버 메서드


 🌱 MemberDao 

 🌸 selectAll()메서드 만들기 



 🌲 MEMBERLIST - Insert 

 🌱 Memberlist_main 

 🌸 insert()메서드 만들기 


 🌱 MemberDao 

 🌸 MemberDao.insert()메서드 만들기 

  • main에서 전달받은 객체를 이용해서 레코드를 추가하고 결과를 1 or 0으로 리턴하는 함수

  • DB연결하고 ➡️ sql작성(객체에서 필드값 얻어서 넣고) ➡️ sql문 전달 ➡️ sql문 실행 ➡️ 실행결과 리턴하기



 🌲 MEMBERLIST - Update 

 🌱 Memberlist_main 

 🌸 update()메서드 만들기 

  • 수정할 회원번호를 입력받아서 해당회원이 존재하는지 검사하고,

    • MemberDao.selectOne()메서드에 회원번호를 전달인수로 전달하여 회원이 존재하는지 검사한다.

    • 여기서 Dao로 넘어가서 selectOne()메서드를 먼저 만들어야 다음 단계로 넘어갈 수 있다.

  • 있으면 mdto에 저장 (없으면 안내하고 종료),

  • 수정할 내용을 차례로 입력받되 수정하지 않을 사항을 엔터만 입력해서 PASS,
    날짜 입력과 변환이 복잡하므로 틀리거나 바뀌지 않도록 신경쓰기!!!

  • 수정할 내용이 있는 건 mdto에 수정해서 저장하고 MemberDao.update()의 전달 인수로 전달한다.

  • MemberDao와 왔다갔다 하면서 코드가 작성되어야 하지만 하나의 함수라서 한 블럭으로 정리함


 🌱 MemberDao 

 🌸 MemberDao.selectOne()메서드 만들기 

  • membernum으로 레코드 하나씩 조회하는 함수


 🌸 MemberDao.update()메서드 만들기 

  • 전달받은 객체의 값으로 sql문을 작성, 전달, 실행하는 함수



 🌲 MEMBERLIST - Delete 

 🌱 Memberlist_main 

 🌸 delete()메서드 만들기 

  • 사용자에게 입력받은 membernum을 seletOne()에 전달해서 회원이 있는지 먼저 조회하기

  • 있으면 mdao.delete()에 membernum을 전달해서 해당 레코드 삭제


 🌱 MemberDao 

 🌸 MemberDao.delete()메서드 만들기 




profile
제가 공부하고 공유하고 싶은 글을 올리고 있습니다.

0개의 댓글