dikar 发表于 2013-1-12 13:30:19

mondoDB Sql

           最近在用mongoDB,因为他提供的api类似jdbc一样原始,用惯了ibatis,所以希望有类似ibatis的查询语法,这里面就涉及到一些对象之间的映射了,例如mongoDB中都是对BasicDBObject操作,然后把这个对象当作map一样来使用的。为了解决对象之间的映射,自己还专门写了个map 2 object / object 2 map的 util。其实这个也只解决了一部分问题,如何能够更加友好的使用mongoDB呢?
 
          伟大的google总是能给我答案,前提是你有清楚的search key。
          这里找到了3个东西,他们之间其实有点关系的。
         1:首先是spring 提供了对各种流行的datastore的整合包装,以让其更容易使用
          http://www.springsource.org/spring-data
 
          看其News 就知道提供了很多整合支持
 
    * Spring Data JPA 1.0.0.M2 released (Mar 24, 2011)    * Spring Data Graph - Neo4j Support 1.0.0 M4 released (Mar 15, 2011)    * Spring Data Graph - Neo4j Support 1.0.0 M3 released (Feb 25, 2011)    * Spring Data Document 1.0.0 M1 with MongoDB support released (Feb 14, 2011)    * Spring Data JPA 1.0.0 M1 released (Feb 10, 2011)    * Spring Data Key Value Support (Redis + Riak) 1.0.0 M2 released (Feb 10, 2011)    * Spring Data Graph - Neo4j Support 1.0.0 M2 released (Jan 31, 2011)    * Spring Data Graph - Neo4j Support 1.0.0 M1 released (Jan 18, 2011)    * Spring Data - Riak Support 1.0.0 M1 released (Dec 15, 2010)    * Spring Data - Redis Support 1.0.0 M1 released (Dec 13, 2010)    * Repositories moved to github (Nov 11, 2010)    * Spring Data site goes live! (Oct 19, 2010)      我这边只需要使用mongoDB ,所以找寻到maven pom如下
 
<dependency> <groupId>org.springframework.data</groupId> <artifactId>spring-data-mongodb</artifactId> <version>1.0.0.BUILD-SNAPSHOT</version></dependency>    这里是文档,
 
  http://static.springsource.org/spring-data/data-document/docs/current/reference/html/
 
   这里是api
   http://static.springsource.org/spring-data/data-document/docs/current/api/
 
   这里是和ibatis很像的api接口(只列出了一些,看来也需要传递class对象进去,用于转换的)
 
org.springframework.data.document.mongodb.MongoTemplate<T> List<T>find(String collectionName, Query query, Class<T> targetClass)          Map the results of an ad-hoc query on the specified collection to a List of the specified type.<T> List<T>find(String collectionName, Query query, Class<T> targetClass, CursorPreparer preparer)          Map the results of an ad-hoc query on the specified collection to a List of the specified type.<T> List<T>find(String collectionName, Query query, Class<T> targetClass, MongoReader<T> reader)          Map the results of an ad-hoc query on the specified collection to a List of the specified type.  
 
   2:Morphia is a lightweight type-safe library for mapping Java objects to/from MongoDB:
    http://code.google.com/p/morphia/
    http://code.google.com/p/morphia/wiki/QuickStart
    这个东西帮你把对象之间的转换都做了。
 
   3:Mysema Querydsl
   http://source.mysema.com/display/source/Home
 
   Querydsl - type-safe queries for JPA, JDO, SQL, Lucene and MongoDB
   http://www.querydsl.com/
 
   doc  http://www.querydsl.com/documentation
   http://blog.mysema.com/2010/11/mongodb-with-querydsl.html
页: [1]
查看完整版本: mondoDB Sql