最近在用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
分享到:
相关推荐
sql 语句学习 sql sql sqlsql 语句学习 sql sql sql
SQL Server 导入超大 SQL 脚本文件 SQL Server 是一种关系型数据库管理系统,广泛应用于各种行业。然而,在实际应用中,我们经常会遇到导入超大 SQL 脚本文件的问题。本文将介绍如何使用 osql 工具来导入超大 SQL ...
在IT行业中,数据库管理系统是核心组成部分,SQL Server和Oracle分别是微软和甲骨文公司推出的两款广泛应用的关系型数据库系统。在企业级应用中,有时需要在不同的数据库系统间进行数据迁移或兼容性处理,这就涉及到...
SQLPrompt for SQLServer2016 智能提示插件 SQL2016 提示 SQLPrompt最新版本 绿色版 SQL Prompt 是一款拥有SQL智能提示功能的SQL Server和VS插件。SQL Prompt能根据数据库的对象名称,语法和用户编写的代码片段自动...
SQL优化是数据库管理中的关键环节,它涉及到提升查询性能、减少资源消耗以及改善系统整体效率。SQL优化软件和工具能够帮助数据库管理员(DBA)和开发人员找出性能瓶颈,优化查询逻辑,从而提高数据库系统的响应速度...
SQL 基础 SQL 首页 SQL 简介 SQL 语法 SQL select SQL distinct SQL where SQL AND & OR SQL Order By SQL insert SQL update SQL delete SQL 高级 SQL Top SQL Like SQL 通配符 SQL In SQL Between ...
SQL Prompt是Redgate Software开发的一款高效SQL代码编辑工具,它为SQL Server的开发人员提供了智能提示、格式化、重构和代码分析等功能,极大地提升了编写和维护SQL代码的效率。SQL Prompt 9是该系列的最新版本,...
SQLTracker是一款专为数据库操作监控设计的工具,它在IT领域中主要用于跟踪和记录SQL语句的执行情况。SQL(Structured Query Language)是用于管理关系数据库的编程语言,包括查询、更新、插入和删除数据等操作。SQL...
标题中的"sqlservr32和sqlservr64.zip"指的是SQL Server 2005服务中的两个关键组件,`sqlservr32.exe`和`sqlservr64.exe`。这两个文件是SQL Server服务的核心执行文件,分别对应于32位和64位操作系统。在Windows 8和...
《SQLMonitor:Oracle数据库SQL跟踪与分析利器》 在IT行业中,数据库的高效管理与优化是至关重要的。针对Oracle数据库,有一款名为SQLMonitor的工具,它专为跟踪和监控SQL语句而设计,帮助开发者和DBA们找出程序...
在Kettle中配置SQL Server数据库连接时,我们需要依赖特定的数据库驱动,这就是SQL JDBC驱动。 SQL JDBC驱动是微软提供的Java Database Connectivity (JDBC) 驱动,使得Java应用程序能够与SQL Server进行交互。有两...
SqlParser是一款基于C++实现的SQL语法解释器,它的主要任务是解析SQL语句,将其转化为计算机可理解的形式,从而能够执行相应的数据库操作。在数据库系统中,SQL(Structured Query Language)是用于管理关系数据库的...
SQL Server驱动包`sqljdbc4.jar`是微软官方提供的Java数据库连接器(JDBC),用于在Java应用程序中与Microsoft SQL Server进行通信。JDBC是Java编程语言中的一个标准API,它使得开发人员能够以标准化的方式访问各种...
1.SQL Server 2014简介.mp4 10.SQL Server 2014定义表主键、外键.mp4 11.SQL Server 2014新增表记录.mp4 12.SQL Server 2014查询表记录.mp4 13.SQL Server 2014修改表记录.mp4 14.SQL Server 2014删除表记录....
除了为读者提供编写sql语句和开发pl/sql块的方法外,本书还为应用开发人员提供了一些常用的pl/sql系统包。通过使用这些pl/sql系统包,应用开发人员可以开发出功能更强大的数据库应用程序。本书不仅适合sql和pl/sql...
Microsoft SQL Server Native Client (SQL Native Client) 是一个同时包含 SQL OLE DB 访问接口和 SQL ODBC 驱动程序的动态链接库 (DLL)。它对使用本机代码 API(ODBC、OLE DB 和 ADO)连接到 Microsoft SQL Server ...
sql安装包sql安装包sql安装包sql安装包sql安装包sql安装包sql安装包sql安装包sql安装包sql安装包sql安装包sql安装包sql安装包sql安装包sql安装包sql安装包sql安装包sql安装包sql安装包sql安装包sql安装包sql安装包...
本书主要聚焦于T-SQL(Transact-SQL)编程语言的使用,T-SQL是SQL Server使用的SQL方言,它不仅包括标准SQL的功能,还扩展了许多专为SQL Server设计的独特特性。T-SQL编程基础部分涵盖了以下内容: - **SQL语句语法...
在数据库管理领域,Oracle SQL和MySQL SQL是两种广泛使用的SQL方言,它们在语法和功能上存在一定的差异。当需要将一个基于Oracle SQL的应用程序迁移到MySQL环境时,就需要进行SQL语句的转换工作。本项目提供了一个...
在IT行业中,数据库是存储和管理数据的核心工具,而SQL Server 2016是由Microsoft开发的一款企业级的关系型数据库管理系统。它提供了高效的数据存储、查询、分析和安全功能,广泛应用于各种业务系统。在Java应用程序...