innn

2022.07.18 자바 웹 프로그래밍과 ERD 본문

JAVA/자바

2022.07.18 자바 웹 프로그래밍과 ERD

33삼 2022. 7. 18. 14:51

html 정적은 포트넘버가 8.0
jdbc는 자바프로그램에서 어디에서 짰던 프로그램이 동작하게 해주는게 jdbc이다

서로 다른 데이터 베이스를 표준화된 방법으로 접속할 수 있도록 만든 api규격이다.

jdbc를 사용하게 되면 데이터베이스 종류와 무관하게 프로그램을 개발할 수 있다고 한다.

커넥션할때 sql할때 한건 안고쳐도되는데,  만약 msql로 바꿨다 하면 드라이버 이름을 바꿔야함 그런거 정도는 세팅정도는 바꿔야함. 프로그래밍 한건 안 바꿔도 되지만.

파일이나 디비나 오픈되면 close 해줘야됨
클래스.포네임 메서드 이용하는 방법을 더 많이 쓴다.
나중엔 현업에선 was를 쓸땐 localhost 대신 ip 어드레스를 넣어줘야함, 오라클 서버가 설치된 ip주소
소켓프로그램 짰던 방식...
select문은 executeQuery로 날리고, 셀렉트문 이외는 익스큐트업데이트로 날린다.

얘는 그냥 statement 스트링으로 쫙 넣어주는거. 오타나면 망함.

아이디 패스워드 치고 엔터 > 리퀘스트 > 그 데이터를 땡겨오는것 익스큐트 업데이트로 받아와서 insert로 디비에 넣겠다는 것

얘는 그냥 스테이트먼트랑 차이가 있음. preparedStatement임.

벨류 다음에 물음표로 되어있음. 벨류 다음에 어떤 값을 집어넣는건데 

그 값을 넣어야하는데 user부터 받는데, 1이라고 표시돼어있는것 > 벨류스의 첫번째 물음표에 해당되는 값.

getparameterusername으로 끌고옴

두번째 물음표의 값을 2번으로 대체하겠다.

insert는 업데이트니까 익스큐트 업데이트 하는 것임. 

 

그냥 statement보다 구조적으로 편리하다. 권장되는 방법이다 라고 하심..

 

preparedStatement는 테이블 명 나오고 벨류스 나오고 해당되는 벨류에 집어넣는건데

statemnet는 바로 전부 스트링을 쳐가지고 집어 넣어야하는것임.

 

int count로 이렇게 카운트를 체킹해줘야만 동작됐는지 안됐는지 확인이 가능하다.

 

아래꺼 처럼 써라

ResultSet 객체에 받으면 우리가 만든 클래스에 집어 넣어서 쓴다. 

컬렉션 프레임워크에서 많이 본구조 rs.next() 로 하는 것
데이터가 있을경우에는 rs.get으로 읽는 것임. 넘겨준 값이 스트링이면 getString 인티져면 getInt 로 읽는 것임.

이 안에 디테일한 코드는 이 해당 객체에 집어넣는 문장이 이 안에 있을 것임. 지금은 리턴값만 받는 것만 있겠지만..

rs.close()를 해줘야함 (스프링에선 안해도 닫아줌......)

 

rs 문닫는거랑 conne션 문 닫는 거랑 다름 .conn.close도 해줘야함.

데이터를 가리키고 있는 첫번째의 주소를 가리키고 있는 것임.

일행이 있으니까 리턴문을 true로 주는 것임. 그래서 첫번째 항의 값을 읽어 오는 것.

두번째 true면 읽으러가고 세번째도 ~~~ 쭉 

그러다 읽을 값이 없을 땐, false(마이너스 일)값을 리턴 해줌 그래서 와일문을 빠져나옴.

 

 

맨첫줄은 html 규약

<%@ 이게 임포트 시킨 문장들임.

 

<%! === 이제 자바코드다 하고 알려주는것임.

 

<!doc~~ 이 파란줄은 html 코드

 

디비는 무조건 트라이 캐치문으로 짜야함. 어떤 상황이 나올 줄 모르기 때문에

마지막엔 클로즈를 해줘야함.

 

PreparedStatement는 쿼리에 인자를 부여할 수 있음
미리 일정량의 DB 커낵션 객체를 만들어놓고, POOL에서 커넥션 객체를 갖다 쓰는 것임.

미리 만들어놓은걸 갖다 쓰는거 그래서 커넥션 POOL인 것임

어플리케이션에서 스레드 하나가 떠서 커넥션 요청이 들어와 ? 풀에서 미리 만들어놓은걸 쟤한테 던져줌 그래서 속도가 빠름. 커넥션 풀이 꽉차면 누군가가 나갈때까지 기다리는 것임.

ㅂ맥스웨이트는 커넥션 풀이 꽉차서 1초(MS) 기다리라는것임
부양 가족은 약한 개체 타입이야 왜? 직원이여야만 부양가족이 의미가 있기 때문. 직원이 존재하지 앟으면 부양가족이 존재하지 않기 때문. 근데? 부양가족이 없는 직원은 있기 때문
서로 상호간의 공통된 의미법이 필요하기 때문에.
약한 객체에서는 키라는 말을 안쓰고 식별자 discriminator라는 말을 쓴다.

나이는 출생연도를 보고 값을 유도할 수 있기 때문에 유도속성이라고 함.

주소를 쭉 쓰면 나중에 서울시만 뽑아내 이런 걸 못함.

스트링을 다 비교해야함. 그래서 통상 이런 건 이렇게 시 동 번지로 나눠서 짠다. 

어떤 엔터티와 어떤 엔터티간의 관계를 잘 봐야함.

 

관계가 있는데 엔터티가 하나야 그건 1진관계라고함 자기가 자신을 콜할때

 

두 개의 개체가 관계를 맺을때 

세 개가 있으면 3진 관계다 

 

클래스에서 isA 관계 > 클래스에선 상속. IS A&nbsp; kind of 관계와 똑같
재귀 = 순환 = recursive 팩토리얼 프로그램이 전통적인 recursive 관계&nbsp; 궁금한 사람은 팩토리얼 프로그램 알고리즘에서 전통적인 리커시브
최소 0개고 n개까지, 최소 1개고 n개까지

'JAVA > 자바' 카테고리의 다른 글

예외 클래스  (0) 2022.09.26
UML 클래스 다이어그램의 관계  (0) 2022.09.06
starUML을 이용해 UML 그리기  (0) 2022.09.02
2022.06.30  (0) 2022.06.30
API 클래스에 대하여  (0) 2022.06.24