Mybatis-Plus 是一款 Mybatis 动态 SQL 自动注入 Mybatis 增删改查 CRUD 操作中间件, 减少你的开发周期优化动态维护 XML 实体字段,无入侵全方位 ORM 辅助层让您拥有更多时间陪家人 携 MP 全体成员【点击真人秀】向各位道一声新年快乐!
Mybatis 官方授权,更换全新 LOGO 为
Mybatis 红色忍者鸟为 Apache 2.0 协议 MP 也为该开源协议 LOGO 2 年前 FORK 修改为蓝色忍者鸟,因为某些人的质疑侵权,特意与 Mybatis 作者及其团队沟通确认,对方表示合法并很高兴 MP 成为它的好伙伴 Clinton Begin 建议头巾加上符号 + 会更酷 “ 脑洞很大 ” 在 Dyang 的操刀下诞生了 MP 的全新 LOGO 谢谢原创团队的认可,感谢 苞米豆 开发者们一如既往的努力。
架构图
我的愿望与 Mybatis 并肩作战
致谢
- 感谢各位的支持荣获【2018年度开源中国最受欢迎的中国软件】 TOP5 感谢 OSC 感谢 @红薯,我们会秉承 【为简化开发而生】 这一理念继续前行!
- 感谢 【huaix】 捐赠的域名(https://mybatis.plus),非常的契合 MyBatis-Plus,非常感谢!
- 感谢 MP 粉丝和我们一起走过 3 个年头的日日
夜夜【此处划掉、用mp不用加班】 2016/03 - 至今 ,更新日志
更新日志
- 优化 generator 的 postgresSql 数据库支持生成 java8 时间类型
- 优化 generator 的 sqlServer 数据库支持生成 java8 时间类型
- 优化 LambdaWrapper 反射获取字段信息支持首字母大写的字段
- 优化 仅 LambdaWrapper 的 select 优化(支持字段对不上数据库时自动 as)
- 优化 重复扫描
BaseMapper
子类时,TableInfo
缓存的Configuration
只保留最后一个 - 优化
MergeSegments
获取getSqlSegment
方式 - 优化 SQL 自动注入器的初始化 modelClass 过程,提高初始化速度
- 新增
IService
增加4个链式调用方法 - 新增 代码生成器增加
beetl
模板 - 新增
IdWorker
增加毫秒时间 ID 可用于订单 ID - 新增 wrapper 新增
inOrThrow
方法,入参为 empty 则抛出MybatisPlusExcuption
异常 - 新增
MetaObjectHandler
新提供几个能根据注解才插入值的default
方法 - 新增 kotlin 下 lambda 的支持,
KtQueryWrapper
和KtUpdateWrapper
类 - 新增 简化MP自定义SQL使用方法,现在可以使用
自定义sql
+ ${ew.customSqlSegment} 方式 - 新增 提供新的
InsertBatchSomeColumn
选装件 - 修复 Page
的
setTotal(Long total)->
setTotal(long total)` - 修复
Page
的setSearchCount
为public
- 修复
TenantSqlParser
如果 where 条件的开头是一个orExpression
,直接在左边用and拼接租户信息会造成逻辑不符合预期的问题 - 修复 wrapper 的
lambda
方法会向下传递 sqlSelect - 修复
ServiceImpl
个别 batch 操作flushStatements
问题 - 修复 selectObjs 泛型错误问题
- 移除
InsertBatchAllColumn
选装件 - 移除
ServiceImpl
的 batch 操作之外的事务注解 - 移除
Model
的事务注解 - 移除
AbstractSqlInjector
的isInjectSqlRunner
方法(SqlRunner初始化较早,目前isInjectSqlRunner无法控制) - 移除
MybatisSessionFactoryBuilder
- 还原 xml 热加载,打上过时标识
- 升级 jsqlparser 依赖到 1.3
- 日常优化