2019 年度最受欢迎中国开源软件[1] 正在火热进行中,请为 Mybatis Plus 投上一票。
Mybatis Plus 简介

MyBatis-Plus[2](简称 MP)是一个 MyBatis[3] 的增强工具,由苞米豆团队开源并维护,在 MyBatis 的基础上只做增强不做改变,为简化开发、提高效率而生。
我们的愿景是成为 MyBatis 最好的搭档,就像 魂斗罗 中的 1P、2P,基友搭配,效率翻倍。
特性
-
无侵入:只是对原生 Mybatis 进行了增强,而且完全兼容原生Mybatis -
损耗小:启动便具有基本的 CURD,直接面向对象操作 -
强大的 CRUD 操作:内置通用 Mapper、通用 Service,仅仅通过少量配置即可实现单表的大部分操作,更有强大的条件Wrapper构造器,满足各类使用需求 -
支持 Lambda 表达式:Wrapper 支持 Lambda 表达式,写出更加优雅的构造条件。 -
多种主键生成方式:支持多达 4 种主键策略(支持雪花算法),可自由配置生成自定义主键,也可以自定义实现主键生成策略 -
支持 ActiveRecord 模式:支持 ActiveRecord 形式调用,实体类只需继承 Model 类即可进行强大的 CRUD 操作 -
支持自定义全局通用操作:支持全局通用方法注入 -
内置代码生成器:可通过编码配置代码生成器或者 Maven 插件可快速生成 Mapper 、 Model 、 Service 、 Controller 层代码,支持模板引擎,更有超多自定义配置等您来使用 -
内置分页插件:基于 MyBatis 物理分页,无需关心具体操作,配置好插件之后,近乎无感知的分页操作。 -
分页插件支持多种数据库:支持常见的多种数据库,具体参见下表 -
内置性能分析插件:(开发功能)可输出 Sql 语句以及其执行时间,能快速揪出慢查询,为Sql优化提供参考依据。 -
内置全局拦截插件:提供全表 delete 、 update 操作智能分析阻断,也可自定义拦截规则,预防误操作 -
支持多租户:通过多租户插件可配置多租户下的CRUD场景
支持数据库
Mybatis Plus 支持常见的数据库。列表如下:
-
mysql 、 oracle 、mariadb 、 db2 、 postgresql 、 hsql 、 sqlite 、 h2 、 sqlserver
-
达梦数据库 、 虚谷数据库 、 人大金仓数据库
框架结构

和 Tkmybatis 相比较
我用过 Tkmybatis 编写过一个项目,其查询功能确实比 Mybatis Plus 强大,但是有一种 开发一时爽,维护火葬场 的感觉。生成的代码阅读性不太友好。而 Mybatis Plus 不但不存在这个问题并且有更多实际场景需要的常见功能。你可以根据实际需要选择使用 Tkmybatis 和 Mybatis Plus
代码托管
Gitee[4] | Github[5]
参考资料
2019 年度最受欢迎中国开源软件: https://www.oschina.net/project/top_cn_2019?sort=1
[2]MyBatis-Plus: https://github.com/baomidou/mybatis-plus
[3]MyBatis: http://www.mybatis.org/mybatis-3/
[4]Gitee: https://gitee.com/baomidou/mybatis-plus
[5]Github: https://github.com/baomidou/mybatis-plus
本文分享自微信公众号 - 码农小胖哥(Felordcn)。
如有侵权,请联系 support@oschina.cn 删除。
本文参与“OSC源创计划”,欢迎正在阅读的你也加入,一起分享。