2011-02-23 3 views
7

그래서 데이터베이스와 관련하여 리프트가 어떻게 작동하는지에 대한 좋은 설명을 인터넷을 통해 살펴 보았습니다. 나는 아직 도움이되는 것을 찾지 못했다. 내가 찾고있는 것은 리프트가 트랜잭션을 수행하기 위해 데이터베이스에 연결하는 방법과이 테이블을 사용하여 새 테이블, 모델을 작성하거나 기존 테이블을 업데이트 및 편집하는 방법을 보여주는 간단한 설명 또는 코드 예제입니다.리프트 시작, 동적 사이트 구축을위한 데이터베이스 사용

예를 들면 : django를 사용하면 모델 클래스에서 데이터베이스 테이블을 생성하고 프레임 워크에서 상속 된 메소드를 통해 업데이트를 실행하는 방법을 쉽게 알 수 있습니다.

나는 등, 웹 사이트에 그들에 대한 정보, 게시물을 사용자가있을 것입니다 순간에 간단한 응용 프로그램을 만들려고하고

나는 현재 사용 가능한 리프트 책을 읽고있다 크게 도움을 부탁드립니다 리프트를 사용하는 방법을 배우는 중.

답변

3

Lift는 Boot.scala에서 데이터 소스를 구성합니다.

if (!DB.jndiJdbcConnAvailable_?) { 
    val vendor = 
    new StandardDBVendor(Props.get("db.driver") openOr "org.h2.Driver", 
     Props.get("db.url") openOr 
     "jdbc:h2:lift_proto.db;AUTO_SERVER=TRUE", 
     Props.get("db.user"), Props.get("db.password")) 


    LiftRules.unloadHooks.append(vendor.closeAllConnections_! _) 

    DB.defineConnectionManager(DefaultConnectionIdentifier, vendor) 
} 

그것은 당신이 Schemifier을 사용하는 테이블 스키마를 생성 할 수 있습니다

일반 리프트 프로젝트
Schemifier.schemify(true, Schemifier.infoF _, User,Post,Tag,PostTags) 

, 당신은 단지 ORM 도구로 리프트 매퍼를 사용할 수 있습니다, 그것은 완전한 아니지만 대부분의 경우 작동 .

리프트 위키와 Simply Lift (작성자) 또는 Explore Lift을 참조 할 수 있습니다. 내 관점에서, 지금까지 이용 가능한 문서는 오히려 실망 스럽습니다. Lift in Action은 매우 잘 쓰여졌지만 올 여름까지 나오지 않을 것입니다. MEAP에서 읽을 수 있습니다.

1

리프트의 기본 ORM은 다른 것들 중에서 DB 엔티티의 CRUD 기능에 대한 빠른 경로를 제공하는 Mapper입니다. 그러나 더 전통적인 JPA 지속성 접근법 (엔티티가 스칼라로 작성 되었기 때문에 SPA가 필요함)을 원할 경우 대개 리프트 배포본의 일부인 JPA와 유사한 샘플 응용 프로그램을 매우 유용하게 사용할 수 있습니다. 그것을 밖으로 시도하려면 받는다는 가정하는 것은 설치, 단지 형 :

mvn archetype:generate -DarchetypeRepository=http://scala-tools.org/repo-snapshots -DarchetypeGroupId=net.liftweb -DarchetypeArtifactId=lift-archetype-jpa-basic_2.8.1 -DarchetypeVersion=2.3-SNAPSHOT -DgroupId=org.mycompany.myproject -DartifactId=MyProject -Dversion=1.0 

이는 일대 다 관계를 가진 2 엔티티 (저자와 책)에 간단한 라이브러리 응용 프로그램을 포함하는 MyProject를 리프트 프로젝트를 만듭니다 jdbc 호환 데이터베이스에서 이러한 엔티티를 작성하고 편집 할 수있는 방법을 보여주는 CRUD 스 니펫입니다.

2

Exploring Lift book에서 PocketChange 예제에는 MetaProtoUser 및 기타 기능을 사용하여 사용자를 정의하는 방법을 보여주는 코드가 들어 있습니다. Lift, 모델 및 빌트인 CRUD 및 User 프로토 타입 객체에 대해 더 잘 이해하기 위해 시작할 것입니다.

http://exploring.liftweb.net/master/index-2.html#toc-Chapter-2

은 DB 통합에 대한 '새로운'접근법은 기록을 통해하다는 점을 명심하십시오. 이것은 매우 진행중인 작업이므로 학습을 시작하기 위해 서두르지 않을 것입니다.

Lift in Action의 소스를보고 아이디어를 얻을 수도 있습니다. 첫 번째 몇 장에 작성된 여행 앱에 대한 링크가 있습니다. https://github.com/timperrett/lift-travel

그리고 전체 도서의 소스 코드가 있습니다. 10 장은 매퍼 장입니다. https://github.com/timperrett/lift-in-action