Skip to content

jfaster/mango

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Mango: Distributed ORM Framework for Java

Build Status Coverage Status License

Fast, simple, reliable. Mango is a high-performance Distributed ORM Framework. Mango makes it easier to use a relational database with object-oriented applications. Performance and Simplicity are the biggest advantage of the Mango data mapper over object relational mapping tools. In our payment system, we use mango to build a distributed payment order system that can handle 120000+ payment order per second.

Documentation is at http://mango.jfaster.org/

Requires JDK 1.8 or higher.

Latest release

The most recent release is Mango 2.0.1, released Jul 14, 2020.

To add a dependency on Mango using Maven, use the following:

<dependency>
    <groupId>org.jfaster</groupId>
    <artifactId>mango</artifactId>
    <version>2.0.1</version>
</dependency>

To add a dependency using Gradle:

dependencies {
    compile 'org.jfaster:mango:2.0.1'
}

JMH Benchmarks

Microbenchmarks were created to isolate and measure the overhead of ORM framework using the JMH microbenchmark framework developed by the Oracle JVM performance team. You can checkout the Mango benchmark project for details and review/run the benchmarks yourself.

  • Jdbc means using only native jdbc API, do not use any ORM frameworks.
  • One Query Cycle is defined as single select id, name, age from user where id = ?.
  • One Update Cycle is defined as single update user set age = ? where id = ?.
1 Versions: mango 1.3.5, spring-jdbc 4.0.5, mybatis 3.4.0, hsqldb 2.3.1, Java 1.7.0_25
2 Java options: -server -XX:+AggressiveOpts -XX:+UseFastAccessorMethods -Xms1096m -Xmx1096m