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

Flyway

240
481
+ 1
30
MyBatis

135
142
+ 1
17
Add tool

Flyway vs MyBatis: What are the differences?

Flyway: Database Migrations Made Easy. Easy to setup, simple to master. Flyway lets you regain control of your database migrations with pleasure and plain sql. Solves only one problem and solves it well. Flyway migrates your database, so you don't have to worry about it anymore; 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.

Flyway belongs to "Database Tools" category of the tech stack, while MyBatis can be primarily classified under "Java Tools".

Flyway and MyBatis are both open source tools. MyBatis with 11.2K GitHub stars and 7.07K forks on GitHub appears to be more popular than Flyway with 4.2K GitHub stars and 915 GitHub forks.

Get Advice from developers at your company using Private StackShare. Sign up for Private StackShare.
Learn More
Pros of Flyway
Pros of MyBatis
  • 12
    Superb tool, easy to configure and use
  • 9
    Very easy to config, great support on plain sql scripts
  • 5
    Is fantastic and easy to install even with complex DB
  • 4
    Simple and intuitive
  • 6
    Easy to use
  • 3
    Extensions
  • 3
    Integrated with Spring
  • 3
    Flexible
  • 2
    Data-first support
  • 0
    Ok

Sign up to add or upvote prosMake informed product decisions

Cons of Flyway
Cons of MyBatis
  • 3
    "Undo Migrations" requires pro version, very expensive
    Be the first to leave a con

    Sign up to add or upvote consMake informed product decisions

    What is 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.

    What is MyBatis?

    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.

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

    What companies use Flyway?
    What companies use MyBatis?
    See which teams inside your own company are using Flyway or MyBatis.
    Sign up for Private StackShareLearn More

    Sign up to get full access to all the companiesMake informed product decisions

    What tools integrate with Flyway?
    What tools integrate with MyBatis?
      No integrations found

      Sign up to get full access to all the tool integrationsMake informed product decisions

      What are some alternatives to Flyway and MyBatis?
      Liquibase
      Liquibase is a leading open-source tool for database schema change management. Liquibase helps teams track, version, and deploy database schema and logic changes so they can automate their database code process with their app code process.
      Hibernate
      Hibernate is a suite of open source projects around domain models. The flagship project is Hibernate ORM, the Object Relational Mapper.
      Switch
      Ring your mobile phone, computer, and desk phone at the same time. Answer calls and switch seamlessly between devices. Use your personal device with a business phone number so you're always reachable.
      Slick
      It is a modern database query and access library for Scala. It allows you to work with stored data almost as if you were using Scala collections while at the same time giving you full control over when a database access happens and which data is transferred.
      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.
      See all alternatives