安装前提条件
你需要安装下面的程序来完成下面的步骤里的任务。
Python 和 Java
为了能顺利的完成Lovefield的安装和使用,你的开发环境里需要有Python 和 Java,并设置相应的PATH。
node.js
除了使用nodejs.org上的installer外,你还可以使用nvm来安装node.js。
你还需要安装几个模块,我们强烈推荐使用npm来完成这个任务。下面是需要的模块:
闭包编译器和库
我们需要使用最新版的闭包编译器。不要担心,你的代码并不依赖这些版本和库,我们只用它来生成相应的JS绑定代码。
为了获得最新的编译器和程序库,你需要安装git,并执行下面的命令:
cd closure git clone https://github.com/google/closure-library.git git clone https://github.com/google/closure-compiler.git cd closure-compiler ant jar
我们并没有下载最新的JAR,我们需要参考repo里的外围文件。
如何使用Lovefield
使用Lovefield需要3个步骤:
- 定义schema
- 为你的代码生成绑定的JavaScript
- 在你的代码来include绑定的js
定义schema
编写YAML文件定义你的数据库schema:
%YAML 1.2 --- name: mydb version: 1 table: Card: column: id: string name: string
编译
使用nodejs执行tools/bundle.js创建编译绑定文件。它们会自动的添加到你的代码库里。
node tools/bundle.js \ --schema my_schema.yaml \ --namespace my.namespace \ --outputdir ~/mypath \ --compiler ~/src/closure-compiler/build/compiler.jar \ --library ~/src/closure-library
输入node tools/bundle.js
命令,会出现用法说明。你需要指定闭包编译器和程序库的地址,你还可以自定义输出地址。
如何在代码中使用Lovefield
<script src="mysrc/mydb_bundle.js"></script> <script> mydb.getInstance().then( function(db) { var card = db.getSchema().getCard(); var query = db.select(). from(card). where( card.id.eq('12345')); return query.exec(); }).then(function(results) { }); </script>
你的反应是: