3

参照: Rails の Scaffolding のような Java (任意のフレームワーク) に CRUD ジェネレーター ユーティリティはありますか?

同じ質問がありますが、Scala に関してです。Play フレームワーク 1.x にはジェネレーターがあったことは知っていますが、2.x ではそれらが削除されました。Scala ベースの Web フレームワークで動作する CRUD / スキャフォールディング ジェネレーターはありますか?

4

2 に答える 2

2

私も足場ツールを探していました(あなたの質問が飛び出しました)、これを見つけました:http://skinny-framework.org/documentation/scaffolding.html

私はまだそれを試していませんが、ドキュメントはそれが仕事をするように見えます:

./skinny g model tweet userId:Long text:String user:Option[User] 作成します

package model

import skinny.orm._, feature._
import scalikejdbc._
import org.joda.time._

// If your model has +23 fields, switch this to normal class and mixin scalikejdbc.EntityEquality.
case class Tweet(
  id: Long,
  userId: Long,
  text: String,
  user: Option[User] = None,
  createdAt: DateTime,
  updatedAt: DateTime
)

object Tweet extends SkinnyCRUDMapper[Tweet] with TimestampsFeature[Tweet] {

  override lazy val defaultAlias = createAlias("t")

  lazy val userRef = belongsTo[User](User, (t, u) => t.copy(user = u))

  /*
   * If you're familiar with ScalikeJDBC/Skinny ORM, using #autoConstruct makes your mapper simpler.
   * (e.g.)
   * override def extract(rs: WrappedResultSet, rn: ResultName[Tweet]) = autoConstruct(rs, rn)
   *
   * Be aware of excluding associations like this:
   * (e.g.)
   * case class Member(id: Long, companyId: Long, company: Option[Company] = None)
   * object Member extends SkinnyCRUDMapper[Member] {
   *   override def extract(rs: WrappedResultSet, rn: ResultName[Member]) =
   *     autoConstruct(rs, rn, "company") // "company" will be skipped
   * }
   */
  override def extract(rs: WrappedResultSet, rn: ResultName[Tweet]): Tweet = new Tweet(
    id = rs.get(rn.id),
    userId = rs.get(rn.userId),
    text = rs.get(rn.text),
    createdAt = rs.get(rn.createdAt),
    updatedAt = rs.get(rn.updatedAt)
  )
}

お役に立てれば!

于 2016-05-26T15:08:40.397 に答える
1

この質問を「未回答」フィルターから削除するために、コメントから回答をコピーします。

いいえ、これについて play ユーザー グループでいくつかの話がありましたが、何も計画されていません。Twitter Bootstrap + DAO 実装 + RESTful ルーティングが最善の策です。つまり、自分でロールします。

...

TB の統合に関するドキュメント [Twitter Bootstrap] を確認してください。非常に素晴らしく、優れた有利なスタートを切ることができます。Play での CRUD はかなり簡単です。

~ virtualeyesごとに答える

于 2013-10-09T04:56:29.720 に答える