mango

Distributed ORM Framework for Java

919
364
Java

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