黑马程序员技术交流社区

标题: mybatis-plus 3.0-RELEASE 简介 [打印本页]

作者: 播妞    时间: 2018-12-11 16:47
标题: mybatis-plus 3.0-RELEASE 简介

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

  代号:超级棒棒糖 , 一个字甜,二个字很甜,三个字超级甜!!!

  Mybatis-Plus 3.0-RELEASE 震撼来袭,历经 1 年余苞米豆组织成员不懈努力 3.0 正式版终于和大家见面,2016 年发布至今荣获 GVP 等荣誉,获得一批粉丝的支持各种 脚手架优秀案例 百花齐放。 watch 1k+ , star 3k+ , fork 1k+ , commit 2k+ , contribution 59



  MP 3 架构图如下:



  Sample 示例 临时 3.0 文档

  升级日志 , 3.0 特性简介:

  1、支持主流数据库,全覆盖默认 CRUD

  Mysql ,MariaDB ,Oracle ,DB2 ,H2 ,HSql ,Sqlite ,PostgreSQL ,SqlServer ,DaMeng

  2、强大的条件构造器,消除硬编码

  // SQL: SELECT name, age FROM user WHERE sex=1 AND ( age=3 OR age =5 ) AND name LIKE '%MP3%'

  new QueryWrapper(可传实体条件,字符串类型默认模糊查询)

  .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");

  3、 无限制的分页设计,灵活的 Page 模型

  // 分页 Mapper 层直接返回 IPage 接口,让分页模型完全自定义

  IPage page = baseMapper.selectPage(page, ...);

  4、通用 Mapper 通用 Service 通用 Api 层

  // 通用 API 控制层

  @GetMapping("/api")

  public R test(String test) {

  ApiAssert.notNull(ErrorCode.TEST, test);

  return success(test);

  }

  5、 代码生成器一行撸到底,各种姿势都支持

  // 代码生成器

  new AutoGenerator().setGlobalConfig(

  // 全局配置

  ).setDataSource(

  // 数据源配置

  ).setStrategy(

  // 策略配置

  ).setPackageInfo(

  // 包配置

  ).setCfg(

  // 注入自定义配置

  ).setTemplate(

  // 模板配置

  ).execute();

  6、 ActiveRecord 模式,不在羡慕动态语言( PHP 、 Ruby 等)

  // 初始化 成功标识

  boolean result = false;

  // 初始化 User

  User user = new User();

  // 保存 User

  user.setName("Tom");

  result = user.insert();

  // 更新 User

  user.setAge(18);

  result = user.updateById();

  // 查询 User

  User exampleUser = user.selectById();

  // 查询姓名为‘张三’的所有用户记录

  List userList1 = user.selectList(

  new EntityWrapper().eq("name", "张三")

  );

  // 删除 User

  result = t2.deleteById();

  7、 开发辅助插件 OR 工具

  分页插件, 执行分析插件,性能分析插件,乐观锁插件,XML热加载,公共字段自动填充,逻辑删除,读写分离 & 多数据源, 多租户 SQL 解析器,通用枚举自动注入

  8、IDEA 辅助开发插件 MybatisX



作者:传智播客JavaEE培训学院

首发:http://java.itcast.cn







欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2