2021.12.17 TIL

서승원·2021년 12월 17일
0

TIL

목록 보기
38/68

Notepadd가 아닌 Eclipse 사용 시작
간단하게 느낀 차이점.
빠르게 코드 짜내려가고, ERROR잡기는 수월할 것 같음. 즉시 문법 오류 잡아주고, 주의점 표시되고, 자동작성 도와주고 컴파일/실행 편하다.

DataSource 통한 DB 접속
Build Path 기능을 이용해 새로운 파일 dbcp, pool 에 대한 jar 파일을 추가했다.


기존 DriverManager를 사용하던 방법과 db에 관련된 내용 입력하는 방식 비교다. 거의 동일하고 약간의 코드 차이만 있다.

동작 방식에서의 차이점은 DB와 소켓이 연결해 Connection을 생성할 때 발생하는 큰 오버헤드를 줄이기 위해서 Connection Pool 이란 개념을 이용해 미리 생성하고 연결한 Connection 을 필요할 때 내어주고, 다시 돌려받는 방식을 사용한다는 것이다.

그리고 또다른 jar파일을 활용해보기 위해 Excel 파일을 읽고 써봤다. FileInputStream을 통해 미리 준비한 xlsx 파일을 InputStream에 불러들인다. 그리고 XSSFWorkbook / XSSFSheet 를 선언해 해당 엑셀 파일을 읽을 준비를 한다. Iterator 를 다시 사용한다. 엑셀은 파일안에 Sheet가 있고 Sheet는 Row와 Column , Row 와 Column은 Cell들로 이뤄졌다. 단위별로 나눠가며 읽어들인다. 각 단위에 대한 Iterator를 순차적으로 생성해서 next 를사용해 내용은 읽어들인다. jar 파일의 getNumerical/StringCellValue Method를 사용해서 자료형에 맞게 읽고, 대입해낸다. txt,smi 등의 파일들을 읽어들일 때와 거의 동일한 방법이지만 , jar 파일을 이용해 코드가 약간 달라졌을 뿐 비슷하게 동작시킬 수 있다.

마찬가지로 xls 파일을 작성해봤다. FileOutputStream 을 통해 새로 만들 xls 파일 경로를 지정해주고, HSSFWorkbook 으로 Sheet, Row, Cell 을 만든다. Row에 for문을 이용해서 각 Row 번호에 맞는 i 를 입력하고 workbook의 write Method로 OutputStream에 해당 내용을 작성한다.

Row에 맞는 번호가 입력된 것을 확인할 수 있다.

그리고 마찬가지로 Cell의 index를 이용해 각 Column 별 규칙성 있는 내용을 입력한다.

for문의 i 값을 이용해 규칙있는 문자열들을 입력했다.

profile
2년차 백엔드 개발자, crimy

0개의 댓글