2011-02-23 3 views
7

Así que he estado buscando en Internet una buena explicación de cómo funciona el ascensor en las bases de datos. No he encontrado nada muy útil todavía. Lo que busco es una explicación simple o ejemplo de código que pueda mostrar cómo el ascensor se conecta a sus bases de datos para realizar transacciones y cómo usar esto para crear nuevas tablas, modelos o actualizar y editar tablas existentes.Comenzar con Lift, usar bases de datos para construir sitios dinámicos

Por ejemplo: con django descubrí con bastante facilidad cómo se generaron las tablas de la base de datos de las clases modelo y las actualizaciones ejecutadas en ellas a través de los métodos que heredó del marco.

Estoy tratando de crear una aplicación sencilla en el momento en que tendría usuarios, información sobre ellos, puestos en un sitio web, etc.

Actualmente estoy leyendo a través de los libros de ascensor y agradecería mucho más ayuda en aprender a usar el ascensor

Respuesta

3

Lift configura su fuente de datos en 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) 
} 

Puede generar esquemas de tablas para usted, utilizando Schemifier:

Schemifier.schemify(true, Schemifier.infoF _, User,Post,Tag,PostTags) 

Para el proyecto de elevación en general, sólo puede utilizar Ascensor Mapper como una herramienta ORM, no es completa, pero funciona para la mayoría de los casos .

Puede consultar Lift WIKI y Simply Lift (Escrito por el autor) o Explore Lift. Desde mi punto de vista, los documentos disponibles hasta ahora son bastante decepcionantes. Se dice que el Lift in Action está muy bien escrito, pero no saldrá hasta este verano, puedes leerlo desde MEAP.

1

El ORM predeterminado en Lift es Mapper, que le ofrece, entre otras cosas, un acceso rápido a la funcionalidad CRUD para sus entidades de base de datos. Sin embargo, si desea un enfoque de persistencia de JPA más tradicional (o más bien SPA ya que las entidades se escribirían en scala), generalmente encuentro muy útil la aplicación de ejemplo similar a JPA que es parte de la distribución de Lift. Para probarlo, asumiendo experto está instalado, teclee:

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 

Esto creará un proyecto MiProyecto ascensor, que incluye una aplicación sencilla biblioteca con que tienen una relación de uno a muchos como 2 entidades (autor y Libro) así como fragmentos de CRUD que muestran cómo puede crear y editar dichas entidades en una base de datos compatible con jdbc.

2

En el libro Exploring Lift, el ejemplo de PocketChange contiene un código que muestra cómo definir un usuario que usa MetaProtoUser y otras características. Comenzaría allí para comprender mejor Lift, el modelo y los objetos prototipo CRUD y User integrados.

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

Tenga en cuenta que el 'nuevo' enfoque de la integración DB será a través de la grabación. Este es un trabajo en progreso, así que no me apresuro a comenzar a aprenderlo.

También puede consultar la fuente de Lift in Action para obtener algunas ideas. Aquí hay un enlace a la aplicación de viaje construida en los primeros dos capítulos https://github.com/timperrett/lift-travel

Y al código fuente de todo el libro. El Capítulo 10 es el capítulo de Mapper. https://github.com/timperrett/lift-in-action

Cuestiones relacionadas