Apache
MetaModel

3p人体艺术图


CouchDB

MongoDB

HBase

Cassandra

ElasticSearch

DynamoDB

Salesforce.com

SugarCRM

Spreadsheets

XMLfiles

JSONfiles

MetaModel isn't a data mapping framework. Instead weemphasize abstraction of metadata and ability to add data sources atruntime, making MetaModel great for generic data processingapplications, less so for applications modeled around a particulardomain.

3p人体艺术图

Looking for the changelog? Check out our CHANGES.md file.

3p人体艺术图

Source: Latest source code release of MetaModel:

 

Binary: A convenient package with all MetaModel modules anddependencies as JAR binaries:

3p人体艺术图

Apache MetaModel is also distributed through the central Mavenrepository. Here's your typical <dependency> declaration:

<dependency>  <groupId>org.apache.metamodel</groupId>  <artifactId>MetaModel-full</artifactId>  <version>5.3.2</version></dependency>

3p人体艺术图

The source code for Apache MetaModel is available through thisApache Git repository:

https://gitbox.apache.org/repos/asf/metamodel.git

3p人体艺术图

To get involved with Apache MetaModel, start by joining ourmailing lists and engage in the conversations!

3p人体艺术图

Please refer to our CONTRIBUTE.mdfile for details on contributing to Apache MetaModel.

3p人体艺术图

Issues for Apache MetaModel are tracked through this ApacheJIRA system:

https://issues.apache.org/jira/browse/METAMODEL

3p人体艺术图

3p人体艺术图

With MetaModel you use a type-safe SQL-like API for queryingany datastore:

DataContext dataContext = DataContextFactory.create[TypeOfDatastore](...);DataSet dataSet = dataContext.query() .from("libraries") .select("name") .where("language").eq("Java") .and("enhances_data_access").eq(true) .execute();

The MetaModel query API allows you to use the power of SQL,even on data formats such as CSV files, Excel spreadsheets, NoSQLdatabases and more.

3p人体艺术图

MetaModel lets you do CRUD operations on arbitrary datamodels,also in a type-safe manner. Batch updates and transactions arelogically modelled as UpdateScript closures.

dataContext.executeUpdate(new UpdateScript() { public void run(UpdateCallback callback) { // CREATE a table Table table = callback.createTable("contributors")  .withColumn("id").ofType(INTEGER)  .withColumn("name").ofType(VARCHAR).execute();   // INSERT INTO table callback.insertInto(table)  .value("id", 1).value("name", "John Doe").execute(); callback.insertInto(table)  .value("name", "Jane D.").execute();  // UPDATE table callback.update(table).value("name","Jane Doe")  .where("id").eq(2).execute();  // DELETE FROM table callback.deleteFrom(table).where("id").eq(1).execute(); }});

The rest of the API should reveal itself through using theDataContext! Javadocs, wiki, mailinglists and other resources help too of course, so check them out.

3p人体艺术图

Check out the MetaModelwiki for more in-depth examples and documentation.

3p人体艺术图

MetaModel was initially developed and released by HumanInference since 2011. In July 2013 MetaModel joined the ApacheIncubator and in November 2014 MetaModel graduated to become a TopLevel Project (TLP) of The Apache Foundation. It is licensed underthe Apache 2.0 license.