转载

mybatis-plus 3.0-RC1 发布,我们不一样来试试啊

Mybatis-Plus 是一款 Mybatis 动态 SQL 自动注入 Mybatis 增删改查 CRUD 操作中间件, 减少你的开发周期优化动态维护 XML 实体字段,无入侵全方位 ORM 辅助层让您拥有更多时间陪家人。

mybatis-plus 3.0-RC1 发布,我们不一样来试试啊

Mybatis-Plus 3.X 架构图

  • annotation  注解相关

  • extension 扩展插件

  • core     核心功能

  • generator 代码生成器

  • boot-starter 快速集成 spring boot

GITEE GITHUB 文档地址

大家关心的正式版 及 3.0 的全新文档( 文档帝 花费很多时间在编辑中)会有不一样的体验,预计八月中旬释出敬请等待...

MP3 升级日志:

  • 优化工具类部分代码,并修复一个在多线程环境下可能会引发死锁的BUG

  • 新增断言类,顺便修改几处地方的判断抛异常为使用断言

  • 去掉多余的 "implements Serializable"

  • 魔法值都改为全局常量模式

  • 咩咩说了 MP 3.0 分页已经飘飘欲仙了,不在需要迁就使用 PageHelper 模式

  • issue #384 QueryWrapper 支持排除指定字段模式

  • 全新 banner,全新感觉

  • 再优化一下抛异常的过程

  • 修改 class 实例化对象的方式,现在可以实例化私有 class

  • 支持无配置可启动使用 Gitee issues/ILJQA

  • 释放sqlSession,待优化 ActiveRecord单元测试

  • 解决只调用 last 产生的 sql 会出的问题

  • 修复Lambda首位属性为基类属性时错误.

  • 增加泛型限制,格式化下代码.

  • 优化一下 AbstractWrapper 使用的 ISqlSegment

  • 其他

1、强大的条件构造器

// SQL: SELECT name, age FROM user WHERE sex=1 AND ( age=3 OR age =5 ) AND name LIKE '%MP3%'
new QueryWrapper<User>(可传实体条件,字符串类型默认模糊查询)
.lambda().select(User::getName, User::getAge)
.eq(User::getSex, 1)
.and(i -> i.eq(User::getAge, 3).or().eq(User::getAge, 5))
.like(User::getName, "MP3");

2、 无限制的分页模型设计

// 分页 Mapper 层直接返回 IPage 接口,让分页模型完全自定义
IPage page = baseMapper.selectPage(page, ...);

3、通用 Api Controller 层

@GetMapping("/api")
public ApiResult<String> testApi(String content) {
   ApiAssert.isNull(ErrorCode.TEST, content);
   return success(content);
}

更多姿势!期待您的发现 ...

原文  https://www.oschina.net/news/98587/mybatis-plus-3-0-rc1-released
正文到此结束
Loading...