| At line 1 added 176 lines |
| [{TableOfContents}] |
|
|
| !!!Grails 정리 |
| {{{ |
| - 프로젝트 생성 - |
| >grails create-app |
| 프로젝트명 입력 |
|
| - 프로젝트 실행 |
| >grails run-app |
|
| - 도메인 클래스 생성 |
| >grails create-domain-class |
| 생성할 도메인 클래스 입력 |
|
| - 컨트롤 생성 |
| >grails create-controller |
| }}} |
|
| !!!Grails 프레임워크 |
| {{{ |
| Trails (Hibernate / Spring / Tapestry 기반) |
| Grails = (Spring + Hibernate + SiteMesh ) * Implementation by Groovy |
|
| 공식 Site http://www.grails.org |
| Grails란 무엇인가? http://docs.codehaus.org/display/GRAILS/Korean+Home |
| Grails 설치 http://www.grails.org/Korean+Installation |
| Grails 빠르게 시작 하기 http://grails.codehaus.org/Korean+Quick+Start |
| Grails 콘솔 http://grails.org/Korean+Command+Line+Tools |
| Grails GORM(OR맵핑) http://grails.codehaus.org/Korean+GORM |
| }}} |
|
| !!!Grails 스크린 캐스팅 정리 |
| *[http://media1.podster.de/hansamann/grails_screencast_directory.mov] |
| {{{ |
| # grails create-app |
|
| 명령어 입력 : bookapp |
|
| # cd bookapp/ |
| # ls -laF |
|
| # grails run-app |
|
| 웹브라우져 : http://localhost:8080/bookapp |
|
| # grails create-domain-class |
|
| 명령어 입력 Book |
|
| # vi grails-app/domain/Book.groovy |
| Long version 밑에 추가 |
| String author |
| String title |
| Date releaseDate |
| String description |
|
| def constraints = { |
| title() |
| author(inList:["graeme Rochder", "Dierk Koenig"]) |
| releaseDate() |
| description(widget:'textarea') |
| } |
|
| # grails generate-all |
|
| 명령어 입력 Book |
|
| # grails run-app |
|
| 브라우져로 접속하면 북 컨트롤러가 자동 생성됨 |
| }}} |
|
| !!!Grails 오라클 연동 |
| *[참고 사이트|http://www.oracle.com/technology/pub/articles/grall-grails.html] |
| {{{ |
| grails-bin-0.2.2 를 이용하여 정리 함 |
|
| 오라클에 테이블과 시쿼스 생성 |
| CREATE TABLE comics ( |
| id NUMBER(10) NOT NULL, |
| title VARCHAR2(60), |
| issue NUMBER(4), |
| publisher VARCHAR2(60), |
| PRIMARY KEY (id) |
| ); |
| CREATE SEQUENCE comics_seq; |
|
|
|
|
| > grails create-app |
| .... |
| ..... |
| create-app: |
| [input] Enter application name: |
| comics_catalog |
| ..... |
|
|
|
| > cd comics_catalog |
| > grails create-domain-class |
| .... |
| create-domain-class: |
| [input] Enter domain class name: |
| comics |
| .... |
|
|
|
|
| /comics_catalog/grails-app/domain/Comics.groovy |
|
| class Comics { |
| @Property Long id |
| @Property Long version |
|
| // new properties for the Comics class |
| @Property String title |
| @Property Long issue |
| @Property String publisher |
|
| String toString() { "${this.class.name} : $id" } |
| } |
|
| > grails generate-all |
| .... |
| input-domain-class: |
| [input] Enter domain class name: |
| comics |
| .... |
|
|
|
|
| ./comics_catalog/grails-app/controllers |
| ./comics_catalog/grails-app/views |
|
|
|
|
|
|
| ./comics_catalog/grails-app/conf/DevelopmentDataSource.groovy |
| class ApplicationDataSource { |
| @Property boolean pooled = true |
| @Property String dbCreate = "update" // one of 'create', 'create-drop','update' |
| @Property String url = "jdbc:oracle:thin:@localhost:1521:XE" |
| @Property String driverClassName = "oracle.jdbc.OracleDriver" |
| @Property String username = "ruby" |
| @Property String password = "ruby" |
| } |
|
|
|
|
| ojdbc14.jar 파일을 ./comics_catalog/grails-app/lib 폴더에 복사 |
|
|
|
| 서버 실행 |
| grails run-app |
|
|
|
| 포트 수정 |
| grails -Dserver.port=9090 run-app |
|
|
| http://localhost:8080/comics_catalog/comics/ |
| }}} |
|
| !!!Grails MySql 연동 |
| *[http://jasonrudolph.com/blog/2006/06/20/hoisting-grails-to-your-legacy-db/3/] |