-INSERT

EmpDao에 추가할 내용이다
말 그대로 직원을 추가 해볼 예정.
Emp는 모든걸 다 들고 있기 때문에 이렇게 잡는다

DB에서 적었던 무지막지한 내용을 자바로 옮겨 적으려니 +와 " 를 엄청 적어줘야 한다.
우린 다른방법으로 할거다

String1 + String2 를 하면 해당 객체를 단순하게 이어붙혀 보여주는 것이 아닌 새로운 객체가 나온다고 한다.
이로인한 성능저하가 생기니 나온것이 StringBuilder이다.
StringBuilder를 이용하면 기존의 데이터에 새로운 문자열을 붙혀서 사용하는거라 성능에도 좋다고 한다
물론 우리의 편리함은 덤이다.

ArrayList 를 사용할때 처럼 add 대신 append를 붙혀준 모습이다.
저기 화살표 부분은 반드시 공백을 줘야한다. 안주면 그냥 empVALUSES로 붙어서 들어가기 때문에
DB에서 오류가 난다.

?로 적으면 값을 values안에 다 칠필요 없이 아래에서 처리할 수 있다.

뒤에 sql도 .toString을 적어야함.

int 값이 몇번째에 무슨값이 들어가냐 물어보는거

이런식으로 int값과 String값을 구분해서 받아줘야 한다.
DB가 그렇게 만들어 져있기 때문이다.
?는 1부터 시작한다.
입사일은 sysdate로 그냥 넣었다.
중간에 값을 지정하면 한칸 건너뛰는게 아닌 그냥 연결해서 적으면 된다.

pstmt.executeUpdate(); <- 문장 전송 및 commit해줌.

catch를 타면 -1로 설정해야함.


Emp에 생성자를 만들어야 한다. 디폴트 생성자를 명시적으로 적어줘야 한다. 안그럼 오류남.
선택적 매개변수를 지원하지 않아서 순서에 맞게 적어야한다.
dartpad가 그리워지는 순간이다.

메타코딩씨를 추가하기 위해 순서에 맞게 적었다.
실행하면 아무것도 안뜬다. 저게 재대로 들어갔다는 소리이다

정상적으로 들어간 모습.
-DELETE

직원 삭제도 해볼 예정.
직원 추가 코드를 그대로 들고왔다.

sql의 내용을 바꾸었다.
emp의 empno에 ?값을 가진 사람을 삭제해라 라는 소리.

empno인 이유는 emp 의 Primary_Key가 empno여서 그렇다.
즉 고유한 값이라 중복될 일이 없다는 소리.
저걸 기준으로 지우는거다.

7934의 사원번호를 가진사람을 지웠다.
1이라고 떴으니 1개의 행을 지웠다는 소리.

14명에서 13명으로 줄어들었다.
근데 잘 모르겠으니 하나만 더 지워보자. 7839인 king을 지울 예정.
9번자리를 잘 봐두도록

킹의 데이터도 지워졌다.

9번에 king 이 사라지고 turner씨가 계신다.
정상적으로 지워진것 같다.
-UPDATE

이번엔 emp말고 dept를 건드려 근무지를 수정해보겠다.
sql의 내용은 UPDATE dept SET dname = ?, loc = ? WHERE deptno = ?로 바꿨다.
deptno?의 내용중 dname을 ?로, loc을 ? 로 바꿔라. 라는 소리.

50이라는 DEPTNO값을 가진 지역을 임의로 추가했다.

값을 수정한 모습. 아무것도 안떴으니 확인해보자.

정상적으로 바뀌었다.
'캠퍼스 > Java' 카테고리의 다른 글
| 57.DB와 JAVA 연결하기 (0) | 2022.08.19 |
|---|---|
| 56.Service (0) | 2022.08.17 |
| 54.JAVA로 DB 리드 (0) | 2022.08.16 |
| 53.Select, Push (0) | 2022.08.16 |
| 52.오류 잡아내기 (0) | 2022.08.16 |