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
Mysql ,MariaDB ,Oracle ,DB2 ,H2 ,HSql ,Sqlite ,PostgreSQL ,SqlServer ,DaMeng
// 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");
// 分页 Mapper 层直接返回 IPage 接口,让分页模型完全自定义 IPage page = baseMapper.selectPage(page, ...);
// 通用 API 控制层 @GetMapping("/api") public R<String> test(String test) { ApiAssert.notNull(ErrorCode.TEST, test); return success(test); }
// 代码生成器 new AutoGenerator().setGlobalConfig( // 全局配置 ).setDataSource( // 数据源配置 ).setStrategy( // 策略配置 ).setPackageInfo( // 包配置 ).setCfg( // 注入自定义配置 ).setTemplate( // 模板配置 ).execute();
// 初始化 成功标识 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<User> userList1 = user.selectList( new EntityWrapper<User>().eq("name", "张三") ); // 删除 User result = t2.deleteById();
分页插件, 执行分析插件,性能分析插件,乐观锁插件,XML热加载,公共字段自动填充,逻辑删除,读写分离 & 多数据源, 多租户 SQL 解析器,通用枚举自动注入