官網地址:http://www.jfaster.org/
mango的中文名是“芒果”,它是一個極速分布式ORM框架。目前已有十多個大型線上項目在使用mango,在某一支付系統中,更是利用mango,承載了每秒12萬的支付下單請求。
下面是mango的一些特性:
- 超高性能,響應速度接近直接使用JDBC
- 采用接口與注解的形式定義DAO,完美結合db與cache操作
- 支持動態sql,可以構造任意復雜的sql語句
- 支持多數據源,分表,分庫,事務
- 提供攔截器功能,利用攔截器可為mango框架擴展各種自定義插件
- 獨創“函數式調用”功能,能將任意復雜的對象,映射到數據庫的表中
- 高效詳細的實時統計系統,方便開發者隨時了解自己的系統
- 獨立jar包,不依賴其它jar包
- 提供便捷的spring插件,與spring無縫集成
性能測試
我們使用由甲骨文JVM性能團隊提供的工具 JMH 對mybatis,spring-jdbc,mango和直接使用jdbc進行了性能測試。您可以checkout性能測試源碼 mango-benchmark 查看測試細節並自行運行獲得測試結果。

- 1次 Query Cycle 被定義為簡單執行1次查詢:
select id, name, age from user where id = ?
- 1次 Update Cycle 被定義為簡單執行1次更新:
update user set age = ? where id = ?
獲得mango
由於mango不依賴其它jar包,所以可以直接 下載mango-1.6.0.jar ,並將它放在工程的classpath下。
當然mango也已經上傳到 maven中心庫 中,如果您的工程在使用maven,那么只需要在pom.xml文件中添加下面的依賴就能使用mango的功能。
<dependency>
<groupId>org.jfaster</groupId> <artifactId>mango</artifactId> <version>1.6.0</version> </dependency>
需要注意的是,只使用mango是無法連接數據庫成功的,對於連接不同的數據庫,您還需要添加相應的JDBC驅動,以連接MySQL數據庫為例,您還需要用到 mysql-connector-java 。
<dependency>
<groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> <version>5.1.29</version> </dependency>