넷빈 6.0 에서 DataSource, ConnectionPool 사용하기

0

Written on 오전 5:55 by 강여사(J.Y.Kang)

음.. 넷빈 5.5 와는 달라져서리..정리차 캡처 이미지 올립니다.
(넷빈 5.5 때가 오히려 더 편했는데..ㅠㅠ 저는 자동이 좋습니다.. 쩝.. 이건 다시 안 만드려나..혹시 넷빈 5.5 때처럼 register 하는 방법 아시는 분 답글 달아주십시오)

일단 이번 예제는 DataSource 와 Connection Pool 그리고 SQL 쿼리(파레트에 있던 거) 물어보신 2분 모두에게 도움이 되겠네요.

게시물 진행을 보시면 아시겠지만 저야 넷빈을 최대한 활용이 모토인지라 DataSource와 Connection Pool 부분은 glassfish 를, 그리고 SQL 쿼리는 JSTL 를 사용하고자 합니다. 이 이외의 방법은 각자 알아서..




우선 웹프로젝트를 만듭니다.

New Project - Web Application

Next



이름은 각자..

서버는 glassfish 로 선택

Finish





그럼 이제 glassfish 에 적용할 Datasource 와 connectionPool 관련사항을 만들어 봅시다.

new - other




카테고리에 보시면 GlassFish 가 있습니다.

(넷빈 5.* 에서는 Sun Resources 항목입니다)

에서 File Types 는 JDBC Resource 로 선택합니다.

Next

Create New JDBC Connection Pool 을 선택하고

아래에 적당한 JNDI 이름을 줍니다.

오라클 디비를 선택할 예정이고해서 jdbc/oracle 이라는 이름으로 만들었습니다.

Next





프로퍼티는 그냥 패스~

커넥션 풀에 대한 이름역시 오라클을 반영 oraclePool 이라는 이름으로 만들었습니다.

그리고 Services 에 미리 만들어서 연결해놓은 오라클 커넥션을 잡습니다.

(이부분은 이미 여러번 설명했던 지라 각자 알아서..)

Next

오라클의 데이터소스 클래스 이름 세팅하고 (알아서 잡아줬던가..아무튼..계속)

Next



역시 변경하고픈 사람은 하고 귀찮으면 그냥 그대로..Finish



그럼 project - Server Resources 아래에 sun-resource.xml 파일이 생성됩니다.

(넷빈 5.* 에서는 이 대목에 2개의 파일이 만들어지고 그 상태에서 서버가 실행되어 있다면 바로 register 가 가능했습니다만..
메뉴가 없어졌습니다. ㅠㅠ)

그럼 서버로 가서 직접 하는 수 밖에..

Services 창으로 와서

Server - Glassfish 를 실행시키고 난후

view admin 을 택해서 어드민을 동작시킵니다



비밀번호를 넣고..
Login



Resources 에 보면 JDBC 가 있습니다.

거기서 좀전에 작업한 내용을 맞춰 등록시킵니다.



Conection Pool 메뉴를 가서 현재 작성된 내용 리스트 위에 있는 New 를 선택합니다.

이름은 아까 oraclePool 로 줬으니 그걸로..

Resource Types 은 javax.sql.DataSource

vendor 는 oracle 로

Next



그럼 역시 여러 해당사항의 설정이 뜨고 아래 보시면 properties 가 있습니다.

여기서 필요한 건

URL
user
password

URL 에는 JDBC URL 을
user 에는 scott
password 에는 tiger

나머지는 알아서 채우시고..



Finish




그럼 이제 JDBC Resource 를 등록하죠.

역시 JDBC Resources 를 누르면 현재 있는 데이터리소스 리스트와 함께 new 메뉴가 있습니다.

이름은 jdbc/oracle 로 주고 진행

이 데이터소스의 pool 이름은 oraclePool 선택

위의 save 버튼을 눌러 해당사항을 모두 저장합니다.





그러면 현재 세팅한 내용을 jsp 에서 불러오면 되겠군요..

index.jsp 에서 다음의 내용을 추가합니다.

<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
<%@ taglib prefix="sql" uri="http://java.sun.com/jsp/jstl/sql"%>
url="jdbc:oracle:thin:@localhost:1521:XE"
driver="oracle.jdbc.pool.OracleDataSource"
user="scott" password="tiger"/>

그후 SQL 태그를 쓰면 되죠.




Hello World! 아래 적당히 글을 적고..

데이터소스, 커넥션풀, 앤드 SQL 쿼리들..이라고 적었습니다. 6--; (참 멋대가리 없기는..쩝)

그런 다음 파레트 아래의 Database 에 있는
DB Report 를 써봅시다.

적은 글 아래쪽으로 DBReport 를 드래그하면 팝업창이 뜨는데

DataSource 에다 위에 이미 세팅한 데이터소스의 var 를 변수처리 하고 ${datasource}

아래에 원하는 쿼리를 적습니다.

select * from emp

그럼 그 내용을 리포트 해주는 쿼리가 자동생성되죠.

이제 실행하면 됩니다.

Run




웹브라우저에 표가 보이시면 맞습니다.



머 일단 여기까지..

이외 다른 응용 방법들도 많습니다.

수고하셨습니다. ^^



넷빈 6.0 에서 자바빈(JavaBean: DAO) 만들때 TIP (fix import , refactor, insert code ..)

0

Written on 오전 5:50 by 강여사(J.Y.Kang)

사실 이걸 게시물로 만들 생각은 없었는데 의외로 모르시는 분들이 많더군요..^^;;

해서..사용법 팁 차원에서..

DAO 의 자바빈은 대개 setter/getter 가 주인 자바클래스 입니다.

만들때 여러가지 편리한 도구들을 이용하시면 보다 손쉽게 만들어지죠.

이미 알고 계신 refactor의 encapsulation fields 외에 기타도 알아봅시다.

그럼 일단 자바클래스 만들기

new - java class

이름은 UserBean 으로 패키지는 angel 로 줬습니다.

next




넷빈 6.0 의 기본 템플릿에는 이전과는 달리 default constructor 를 만들지 않더군요.. 왜 없앴는지 원.. 뭐 템플릿을 수정하면 전처럼 만들어집니다만, 일단 없는 상태(기본상황)라고 가정하고 진행합니다.

사용할 여러 변수들 세팅.. 일부러 여러 자료형을 선택했습니다

int id;
String name;
String pass;
Double balance;
Date regDate;

그럼 Date 때문에 에러가 뜨죠.

뭐 앞에 빨강 버튼을 눌러서 해결해도 되고, 오른쪽 마우스를 눌러 해결해도 됩니다.

저는 오른쪽 마우스를 눌러 fix imports 선택




Date는 여러 클래스가 있기때문에 팝업창으로 개발자에게 선택권이 주어집니다. (만약 하나뿐인 클래스면 안물어보고 바로 코드에 import 반영을 하죠)

ok




그럼 setter/getter 를 만들어야 하니 역시 마우스 오른쪽

refactor - encapsulated fields 선택




원하는 변수들을 클릭으로 잡아줍니다.

그럼 해당 변수로 naming convention 을 반영한 setter/getter 가 제시됩니다.

아래에는 해당 변수에 대한 private 처리와 메소드에 대한 public 처리가 역시 제시되구요.

refactor 버튼을 누르면 이전과는 달리 바로 코드에 반영됩니다.




그럼 이글을 올리게된 생성자를 만들어 보겠습니다.

생성자의 자동 생성은 insert code 라는 메뉴를 이용합니다.

위쪽에 보시면 source 항목아래에도 제시되고,

마우스 오른쪽을 누르시면 insert code 라는 메뉴가 보입니다. (단축키는 Alt+INsert)




그럼 Generate 항목아래

Constructor 가 보입니다.

누르시면 코드에 작성된 변수들이 보이는 팝업창이 뜹니다.

이떄 어떠한 클릭없이 바로 ok 하면 디폴트 생성자가 만들어 집니다.

디폴트 생성자외에 다른 생성자를 만들때에는 다시 한번 insert code 를 진행후

해당 변수들을 클릭하면 반영된 생성자가 만들어집니다.




해당 변수들을 클릭하면 반영된 생성자가 만들어집니다.
모두 클릭후 만들어진 생성자를 확인하겠습니다.




디폴트 생성자와
모든 변수를 인자로 받아들이는 생성자를 각각 만들었습니다.




그럼 이만 ^^