Get Advice Icon

Need advice about which tool to choose?Ask the StackShare community!

MyBatis vs peewee: What are the differences?

MyBatis: SQL Mapper Framework for Java. It is a first class persistence framework with support for custom SQL, stored procedures and advanced mappings. It eliminates almost all of the JDBC code and manual setting of parameters and retrieval of results. It can use simple XML or Annotations for configuration and map primitives, Map interfaces and Java POJOs (Plain Old Java Objects) to database records; peewee: A small, expressive ORM -- supports postgresql, mysql and sqlite. A small, expressive orm, written in python (2.6+, 3.2+), with built-in support for sqlite, mysql and postgresql and special extensions like hstore.

MyBatis can be classified as a tool in the "Java Tools" category, while peewee is grouped under "Object Relational Mapper (ORM)".

MyBatis and peewee are both open source tools. It seems that MyBatis with 11.5K GitHub stars and 7.26K forks on GitHub has more adoption than peewee with 6.72K GitHub stars and 1.11K GitHub forks.

According to the StackShare community, MyBatis has a broader approval, being mentioned in 6 company stacks & 16 developers stacks; compared to peewee, which is listed in 4 company stacks and 14 developer stacks.

Manage your open source components, licenses, and vulnerabilities
Learn More

Need advice about which tool to choose?Ask the StackShare community!

What are some alternatives to ?
Hibernate
Hibernate is a suite of open source projects around domain models. The flagship project is Hibernate ORM, the Object Relational Mapper.
Flyway
It lets you regain control of your database migrations with pleasure and plain sql. Solves only one problem and solves it well. It migrates your database, so you don't have to worry about it anymore.
Spring Data
It makes it easy to use data access technologies, relational and non-relational databases, map-reduce frameworks, and cloud-based data services. This is an umbrella project which contains many subprojects that are specific to a given database.
jOOQ
It implements the active record pattern. Its purpose is to be both relational and object oriented by providing a domain-specific language to construct queries from classes generated from a database schema.
MySQL
The MySQL software delivers a very fast, multi-threaded, multi-user, and robust SQL (Structured Query Language) database server. MySQL Server is intended for mission-critical, heavy-load production systems as well as for embedding into mass-deployed software.