1)



2)



3)

1 : name에 이름을 지정한다.

2 : Context는 Java로 지정.

3 : Insert Variable을 클릭한다.



4)

1. 클래스 이름을 드래드하고 나서 primary_type_name을 지정한다.

2. 모두 지정을 하고 나서 OK 버튼을 누른다.



5)

템플릿 완성 예 (싱클턴 템플릿 예)






'Programming > Oracle' 카테고리의 다른 글

오라클 SQL 명령어 정리  (0) 2013.10.14
이클립스에서 SQL 설정하기  (0) 2013.09.10
[SQL] IN, AS 구문 정리  (0) 2013.08.30
[7일차] Join  (0) 2013.08.29
오라클에 JDBC 접근 가장 기초 틀 예문  (0) 2013.08.28


이클립스에서 웹 에플리케이션 WAR 배포하기


http://blog.naver.com/PostView.nhn?blogId=sungback&logNo=90009886520






'Programming > JSP Servlet' 카테고리의 다른 글

경로 개념 간단 정리  (0) 2013.10.14
JSTL 기초 사용 예  (0) 2013.09.17
EL 기초 사용 예문  (0) 2013.09.17
JAVA(JSP) 웹 프로그래밍 개발환경 설정  (0) 2013.09.02
Mac OSX에서 JSP 기본 개발환경 구축하기  (0) 2012.05.23

JAVA(JSP) 웹 프로그래밍 개발환경 설정


1)

톰켓 7.0 다운로드 -> Core의 zip 버전을 다운로드한다.

-> C:\밑에 압축을 푼다. 

(오라클이 미리 설치되어 있으면 포트가 같아서(8080) 충돌이 있을 것이다.

따라서 둘중에 하나의 포트를 변경해야한다)


2) [환경설정]

1. JDK 설치

 - path 설정

  - CLASSPATH 설정 : 자바가 설치된 경로의 bin을 의미한다.

  - JAVA_HOME 설정 : C:\jdk1.7.0_21

   자바가 설치된 경로 디렉토리를 의미한다.


2. 톰켓 환경설정

 - 1. tomcat 설치경로 : CATALINA_HOME= 아파치가 설치된 디렉토리

 - 2. 톰켓 서버내부 환경설정 (아파치 디렉토리/conf/server.xml)

server.xml 파일 열기

1) Port 변경 : server.xml 파일의 70라인의 connertor port를 변경 (예9090으로변경)

2) Charactor Encoding 변경 : <Connector URIEncoding="utf-8"> (추가server.xml 파일에서)

 <Connector /> 부분에서 URIEncoding="utf-8" 추가.

       예)

      <Connector URIEncoding="utf-8" port="9090" protocol="HTTP/1.1"

        connectionTimeout="20000" redirectPort="8443" />

    

    3) Context 권한설정 (Context.xml)

       ※ 기본적으로 톰캣은 ROOT까지만 인식한다.

       Context.xml 파일의 19라인의

      <Context privileged="true" reloadable="true"> // 이렇게 설정한다.

      </Context>

      ※ 참고로 :  privileged 속성은 :  RooT외의 Context 영역을 인식 시켜주는 설정

                    reloadable 속성은 : 변경사항 발생시 자동으로 Reload하게 함.


3. 톰켓 실행확인

 -1 실행 : 아파치 경로\bin\startup.bat

 -2 중지 : 아파치 경로\bin\shutdown.bat

 -3 서비스실행 확인 : 웹브라우저에서 http://localhost:포트번호

                          예) http://localhost:9090/


IN 구문 

 IN을 사용하면 여러값을 지정하여 검색할 수 있다.


예)

//  user_id컬럼의 test1의 레코드를 가져와라.

select * from member where user_id = 'test1';


// user_id컬럼의 test1과 test4의 모든 레코드를 가져와라.

select * from member where user_id IN('test1', 'test4') ;


//반대로 test1과 test4의 값을 제외하고 모든 레코드를 가져와라.

select * from member where user_id  NOT('test1', 'test4') ;



AS구문

as 구문은 테이블 또는 컬럼에 대해서 임시로 이름을 변경할 수 있다.


예)

select user_id AS uid, user_pwd AS pwd from member;

// 구문을 살펴보면 user_id AS uid 라고 변경했고 user_pwd AS pwd 라고 변경했다.

// 참고로 AS구문은 생략이 가능한다. 

// select user_id uid, user_pwd pwd from member;


테이블 열 합치기

예)

select user_id, name+', '+age+', '+phone as info from member;

// 위 예제는 여러가지의 테이블 열을 합쳐 하나의 내용으로 묶어서 가져오게 하는 구문이다.



'Programming > Oracle' 카테고리의 다른 글

이클립스에서 SQL 설정하기  (0) 2013.09.10
SQL 강좌  (0) 2013.09.02
[7일차] Join  (0) 2013.08.29
오라클에 JDBC 접근 가장 기초 틀 예문  (0) 2013.08.28
[4일차-2] select_연산자_함수  (0) 2013.08.27

// Join 정리_______________________________________________________________________//

- join은 초급단계에서는 inner join , left-outer-join 이 두가지만 알면 된다.

- 조인이란 테이블을 합치는 것



select * from sawon;

select * from sawon, dept;


-- inner join --

select * from sawon,dept where sawon.deptno=dept.deptno

select * from sawon inner join dept on sawon.deptno=dept.deptno



--left outer join --

--(+)는 null값까지 출력한다는 의미 (오라클 전용 문법이다)

-- (+)는 left outer join을 의미한다.

-- 문장의 의미 : s1.samgr과 s2.sabun(+)이 같은 것을 출력해라. 

select * from sawon s1,sawon s2 where s1.samgr=s2.sabun(+)

order by s1.sabun


select * from sawon,gogek where sawon.sabun = gogek.godam(+)

order by sabun






// 강의 내용________________________________________________________________________//


JOIN: 테입블 결합

: 정규화(테이블분리)된 테이블 사용


[조건체크 형태]

EQUI-JOIN

: 필드 = 필드


NON-EQUI-JOIN

: All ,Some,Any,...

  필드 some(값1,값2,값3)

  필드 ALL (값1,값2,값3)



[조인방식 따른]

--cross join : 모든행을 결합


select * from sawon,dept

[ANSI-92]

select * from sawon cross join dept


--inner join : 두테이블간 만족하는 행만 결합

select * from sawon,dept where sawon.deptno=dept.deptno

[ANSI-92]

select * from sawon inner join dept on sawon.deptno=dept.deptno


--outer join : 조건이 null인 데이터를 결합하지 않는다...

 1) left  outer join :  A left outer join B on 조건 => A행은 모두추출 / B행은 만족하는행만

 2) right outer join :  B right outer join A on 조건

  

--self join : 자신의 테이블과 결합

-- left outer join(oracle (+))   cf) ms-sql : s1.samgr *= s2.sabun

-- oracle에서만 사용되는 문버

select * from sawon s1,sawon s2 where s1.samgr=s2.sabun(+)

order by s1.sabun


[ANSI-92]

select * from  sawon s1 left outer join sawon s2 on s1.samgr=s2.sabun


--사원이 관리하는 고객정보 출력(사원정보는 모두보겠다)

select * from sawon,gogek where sawon.sabun = gogek.godam(+)

order by sabun


[ANSI-92]

'Programming > Oracle' 카테고리의 다른 글

SQL 강좌  (0) 2013.09.02
[SQL] IN, AS 구문 정리  (0) 2013.08.30
오라클에 JDBC 접근 가장 기초 틀 예문  (0) 2013.08.28
[4일차-2] select_연산자_함수  (0) 2013.08.27
[4일차-1] SubQuery(하위쿼리)  (0) 2013.08.27

 오라클에 JDBC 접근 가장 기초 틀 예문


Main Class


import java.sql.ResultSet;

import java.sql.Statement;

import java.sql.Connection;

import java.sql.DriverManager;

import java.util.ArrayList;

import java.util.List;


import GogekVO;


public class yMain {

// STEP1. DB driver 초기화___________//

// 정형화된 공식

//_______________________________________//

static {

try {

Class.forName("oracle.jdbc.driver.OracleDriver");

} catch (ClassNotFoundException e) {

// TODO Auto-generated catch block

e.printStackTrace();

}

}


public static void main(String[] args) throws Exception{

// STEP2. 연결______________________//

Connection conn = null;

//____________________________________//

// STEP3. 접근______________________//

//_____________________________________//

// DB에 접근하기 위한 정보가 필요하다.

String url = "jdbc:oracle:thin:@localhost:1521:xe";

conn = DriverManager.getConnection(url, "test", "test");

System.out.println("--connect success!!---");

// STEP4. 명령처리 객체 (기본적으로 AutoCommit으로 설정되어있다)______//

//___________________________________________________________________//

Statement stmt = null;

stmt  = conn.createStatement();

/*

* 설명

* 모든 SQL 명령을 처리(stmt) :DDL, DCL, DML .

* select : executeQuery(SQL)

* insert, delete, update : exexcuteUpadate(SQL);

* stmt.executeQuery("create table tsb3(no int, name varchar2(12))");

* stmt.executeQuery("drop table tsb1");

*/

stmt.executeQuery("insert into tsb3 values(1, '민우')");

// 결과행 처리객체 //

ResultSet rs = null;

rs = stmt.executeQuery("select * from tsb1");


// 데이터 그릇 준비

//<> 은 제네릭으로서, 지정한 객체만 받겠다는 의미이다.

List<GogekVO> list = new ArrayList<GogekVO>();

//List list = new ArrayList();

while(rs.next()){

int rsNo = rs.getInt("NO"); // 필드명은 가급적 대문자로 쓴다.

String rsName = rs.getString("NAME");

/*

// 임시로 데이터를 출력

System.out.print(rsNo + "   ");

System.out.print(rsName);

System.out.println();

*/

// 모든행을 읽어와서 읽기

GogekVO vo = new GogekVO(rsNo, rsName);

list.add(vo);

}

// 출력

for (int i = 0; i < list.size(); i++) {

GogekVO vo = list.get(i);

System.out.print(vo.getNo()+"  ");

System.out.print(vo.getName());

System.out.println();

}

// STEP5. 닫기______________________//

//_____________________________________//

stmt.close();

conn.close();

}

}



GogekVO Class


// VO 객체 : 값을 저장관리하는 객체(Value Object)

// VO는 가급적 getter / setter를 만들도록한다.


public class GogekVO {

// DB 필드명과 동일하게 변수명을 부여하면 편리하다.

int no;

String name;

public GogekVO(int no, String name){

this.no = no;

this.name = name;

}

// GET / SETTER_____________________//

public int getNo() {

return no;

}

public void setNo(int no) {

this.no = no;

}

public String getName() {

return name;

}

public void setName(String name) {

this.name = name;

}

}







'Programming > Oracle' 카테고리의 다른 글

[SQL] IN, AS 구문 정리  (0) 2013.08.30
[7일차] Join  (0) 2013.08.29
[4일차-2] select_연산자_함수  (0) 2013.08.27
[4일차-1] SubQuery(하위쿼리)  (0) 2013.08.27
[3일차] 제약조건  (0) 2013.08.27


select_연산자_함수


select  필드1,필드2,..      <=컬럼(필드)선택

from    테이블(뷰)

where   조건절              <=행(레코드)선택 

order by 필드 [asc | desc]  <=정렬방식


--[연산자]-------

산술 : + - * /

관계 : > >=  <  <=  =(같냐?)  !=  <>(같지않냐?)  not(부정)

논리 :  A and B   

        A or  B

      

기타 : 필드 between A and B    <= A ~ B사이냐?

       필드 in(A,B,C)          <=  필드=A ro 필드=B or 필드=C


문자열 결합 : ||


문자열 유사검색 : 필드 like '%_'

                  _ : 문자 1자리

                  % : 모든

                  

문자열 함수  : substr(문자열,시작,갯수)

         1 2 3 4 5 6 7 8

select '우리나라대한민국' from dual;

                               시작,갯수 

select substr('우리나라대한민국',5,2) from dual;

////////////////////////////////////////////////////////////////




--연산자 <=가상의 임시 테이블(dual)

--         heading(연산결과에 대한 필드명 부여)

--     필드 as alias(별명) 

--     필드    alias(별명) 

--     필드    "escape문자포함"   

select 1+1 as plus ,(2-1) minus1 from dual;

--사원테이블

select * from sawon;

select sabun,saname,deptno,sajob , sapay, sapay*0.1 bonus from sawon;

select saname || '님의 년봉은 '  || sapay || '입니다' as "년봉 설명" from sawon


select sabun 사번,saname 이름,deptno 부서번호,sajob 직위,

       sahire 입사일자,sapay 년봉,samgr 부서장

from sawon

order by deptno ;


--사원테이블 10 부서 직원을 모두 추출

select * from sawon where deptno=10 ;


--사원테이블 남자 직원을 모두 추출

select * from sawon where sasex='남자';


--사원테이블 2000년이후 입사자를 추출 : 2000.1.1 00:00:00

--날짜 표현방법

select * from sawon where sahire >= '2000-1-1';


--입사일자 2000 ~ 2003년인 직원 추출

--         2000.1.1 00:00:00 ~ 2003.12.31 23:59:59

--                             '2003-12-31 00:00:00'

select * from sawon

where sahire>='2000-1-1' and sahire<'2004-1-1';


--날짜에서는 between사용하지 말것(왜? : date타입은 시간까지 고려)

select * from sawon

where sahire between '2000-1-1' and '2004-1-1';


--급여가  2000 ~ 3000사이인 직원 추출

select * from sawon

where sapay>=2000 and sapay<=3000 ;


select * from sawon

where sapay between 2000 and 3000 ;


--10번 부서에서 남자 직원중 직급이 사원을 추출

select * from sawon

where deptno=10 and sasex='남자'  and  sajob='사원';


--10,30번 부서직원 추출

select * from sawon

where deptno=10 or deptno=30 ;


select * from sawon

where deptno in(10,30) ;



--직급이 과장,대리,사원인 직원을 모두 추출

select * from sawon

where sajob='과장' or sajob='대리' or sajob='사원' ;


select * from sawon

where sajob in('과장','대리','사원') ;



--직급이 과장,대리,사원인 직원을 빼고 모두 추출

select * from sawon

where sajob not in('과장','대리','사원') ;


select * from sawon

where not( sajob='과장' or sajob='대리' or sajob='사원') ;


------[문자열 유사검색]---------------------------

-- 성씨가 '최'씨인 직원을 모두 추출

select * from sawon 

where  saname like '최%';


--이름중에 2번째 글자가 '미'인 직원을 추출

select * from sawon

where saname like '_미%'; 


--고객테이블 '서울'사는 고객을 추출

select * from gogek

where goaddr like '서울%';


--고객테이블에서 강서구 거주자 추출

select * from gogek

where goaddr like '%강서구%';


--고객테이블에서 여자만 추출

select * from gogek

where gojumin like '______-2%' 

      or

      gojumin like '______-4%' ;


select * from gogek

where substr(gojumin,8,1) in('2','4');

      

      

--고객테이블에서 80년대 출생자   추출   

select * from gogek

where gojumin like '8%';


select * from gogek

where substr(gojumin,1,1)='8' ;



--고객테이블에서 계울에 출생한 고객 추출

select * from gogek

where gojumin like '__01%' or 

      gojumin like '__02%' or

      gojumin like '__12%'    ;

      

select * from gogek

where substr(gojumin,3,2)='01' or

      substr(gojumin,3,2)='02' or 

      substr(gojumin,3,2)='12' ;

      

select * from gogek

where substr(gojumin,3,2) in('01','02','12');



'Programming > Oracle' 카테고리의 다른 글

[7일차] Join  (0) 2013.08.29
오라클에 JDBC 접근 가장 기초 틀 예문  (0) 2013.08.28
[4일차-1] SubQuery(하위쿼리)  (0) 2013.08.27
[3일차] 제약조건  (0) 2013.08.27
[2일차] 테이블생성 및 DML 기초  (0) 2013.08.27


SubQuery(하위쿼리)

: 하위쿼리의 결과값을 이용해서 주쿼리를 수행



-- 최불암과 동일한 부서 직원을 추출

select * from sawon 

where deptno = 10;


select deptno from sawon where saname='최불암';


--2개의 쿼리를 결합

select * from sawon 

where deptno=(select deptno from sawon where saname='최불암') ;


--장동건과 연봉이 동일한 직원 추출

select * from sawon 

where sapay = (select sapay from sawon where saname='장동건');



--이미자보다 연봉을 많이 받는 직원을 추출

select * from sawon 

where sapay > (select sapay from sawon where saname='이미자');


--주의) 하위쿼리의 결과가 여러개 발생시 => in연산자 사용

--최불암 ,이미자의 소속부서 직원을 추출

select * from sawon

where deptno in (select deptno from sawon where saname='최불암' or saname='이미자') ;

--where deptno in (10,20) ; <=해석


select * from sawon

where deptno = (select deptno from sawon where saname='최불암')

      or

      deptno = (select deptno from sawon where saname='이미자') ;

      

--고객테이블 

select * from gogek;

select length(goname) from gogek;


--마징가의 이름과 동일한 길이의 이름을 갖는 고객 추출

select * from gogek 

where length(goname)=(select length(goname) from gogek where goname='마징가');

      

select length(goname) from gogek where goname='마징가';

      

--류민과 거주지가 동일지역(광역시)의 고객 추출      

select * from gogek 

where substr(goaddr,1,2)=(select substr(goaddr,1,2) from gogek where goname='류민');


select substr(goaddr,1,2) from gogek where goname='류민'      

    

-- 몰리와 동일한 출생월을 갖는 고객을 추출

select * from gogek

where substr(gojumin,3,2) = 

                (select substr(gojumin,3,2) from gogek where goname='몰리');

      


'Programming > Oracle' 카테고리의 다른 글

오라클에 JDBC 접근 가장 기초 틀 예문  (0) 2013.08.28
[4일차-2] select_연산자_함수  (0) 2013.08.27
[3일차] 제약조건  (0) 2013.08.27
[2일차] 테이블생성 및 DML 기초  (0) 2013.08.27
[1일차] 계정생성  (0) 2013.08.27

+ Recent posts