Mybatis-Plus 是一款 Mybatis 動態 SQL 自動注入 Mybatis 增刪改查 CRUD 操做中間件, 減小你的開發週期優化動態維護 XML 實體字段,無入侵全方位 ORM 輔助層讓您擁有更多時間陪家人。git
代號:超級棒棒糖 , 一個字甜,二個字很甜,三個字超級甜!!!sql
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 解析器,通用枚舉自動注入