IT/maven

jsp - H2DB, maven 프로젝트 준비

노마드오브 2018. 11. 15. 22:41

* 메이븐 프로젝트를 위해 메이븐 설치


* 메이븐 용어

  - Archetype (프로그램 구성 틀을 의미)

  

  - GroupId (프로그램을 다루는 회사, 조직, 팀 등)

  - ArtifactId (그룹 내에서 유일한 프로그램 이름)

  

  - Goal(골)  특정 목적(역할)을 수행하는 명령어

  


* pom.xml 

  - POM(Project Object Model)

  - 프로젝트 빌드 관련 정보를 기술

  - 의존관계를 <dependency> 태그로 기술하면

    자동으로 메이븐 중앙저장소에서 해당 라이브러리를 다운받아서

빌드패스에 추가함.

  - http://search.maven.org 에서 라이브러리 검색

  

  

  

* 메이븐 프로젝트 생성 (콘솔)

 - 아키타입을 이용한 프로젝트 생성

    mvn archetype:generate

 

 maven-archetype-quickstart 는 기본 자바프로젝트용

 

* mvn 명령어로 생성된 순수 메이븐 프로젝트를

  이클립스에서 동작가능한 이클립스 프로젝트로 변환하는 명령어

 mvn eclipse:eclipse



* main 소스파일 컴파일하는 명령어

 mvn compile

 

* test 테스트파일 컴파일하는 명령어

 mvn test-compile


* 패키징하기 (하나의 묶음파일로 만들기)

  - 콘솔모드

   mvn package   (패키징하기)

   

   mvn jetty:run  (실행하기)

   ctrl c 로 실행취소. y

  

  http://localhost:8080/funweb-mvn/ 로 접속해서 확인

  

  

  - GUI 모드

    Run → Run Configurations → Maven Build에서 새로 생성


* 메이븐 프로젝트 소스파일은 그대로. 빌드파일은 지우기(target 폴더 삭제)

  mvn clean



* 대표적인 아키타입 유형

   maven-archetype-quickstart

   maven-archetype-webapp



* 프로젝트 생성시 (웹 프로젝트 생성)

  mvn archetype:generate -DarchetypeGroupId=org.apache.maven.archetypes -DarchetypeArtifactId=maven-archetype-webapp


  mvn archetype:generate -DarchetypeArtifactId=maven-archetype-webapp

  


* WAS서버(제티) 기동시키기

  mvn jetty:run

  

* 제티서버 내리기

  ctrl c



  


* H2 Database 사용 준비

  - www.h2database.com 에서 인스톨러 다운로드 후 설치

  - H2 Console (Command Line) 실행


* 오라클의 desc 테이블명에 해당하는 쿼리문

  - show columns from 테이블명;


  

* H2 Database에서 테이블 생성

  - member 테이블 생성

  create table if not exists member (

    id varchar(12) primary key,

passwd varchar(12) not null,

name varchar(20) not null,

reg_date timestamp not null,

age int,

gender varchar(5),

email varchar(30),

address varchar(100),

tel varchar(30),

mtel varchar(30)

  );

  

  show tables; -- 테이블 목록 확인

  show columns from member; -- 테이블 컬럼구성 확인

  

  

  

  - board 테이블 생성

  

  create table if not exists board (

    num int primary key,

name varchar(20),

passwd varchar(20),

subject varchar(50),

content varchar(2000),

ip varchar(20),

reg_date timestamp,

readcount int,

re_ref int,

re_lev int,

re_seq int,

filename varchar(50) 

  );

  

  show tables; -- 테이블 목록 확인

  show columns from board; -- 테이블 컬럼구성 확인

  

  

 

insert into member (id, passwd, name, reg_date)

values ('bbb', '1234', '이몽룡', '2018-10-01');

  

  

alter table member drop column age;

alter table member drop column gender;