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]