更新時間:2018年11月27日14時36分 來源:傳智播客 瀏覽次數(shù):
Mybatis-Plus 是一款 Mybatis 動態(tài) SQL 自動注入 Mybatis 增刪改查 CRUD 操作中間件, 減少你的開發(fā)周期優(yōu)化動態(tài)維護 XML 實體字段,無入侵全方位 ORM 輔助層讓您擁有更多時間陪家人。
代號:超級棒棒糖 , 一個字甜,二個字很甜,三個字超級甜!!!
Mybatis-Plus 3.0-RELEASE 震撼來襲,歷經(jīng) 1 年余苞米豆組織成員不懈努力 3.0 正式版終于和大家見面,2016 年發(fā)布至今榮獲 GVP 等榮譽,獲得一批粉絲的支持各種 腳手架優(yōu)秀案例 百花齊放。 watch 1k+ , star 3k+ , fork 1k+ , commit 2k+ , contribution 59
MP 3 架構(gòu)圖如下:
Sample 示例 臨時 3.0 文檔
升級日志 , 3.0 特性簡介:
1、支持主流數(shù)據(jù)庫,全覆蓋默認 CRUD
Mysql ,MariaDB ,Oracle ,DB2 ,H2 ,HSql ,Sqlite ,PostgreSQL ,SqlServer ,DaMeng
2、強大的條件構(gòu)造器,消除硬編碼
// 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、 無限制的分頁設(shè)計,靈活的 Page 模型
// 分頁 Mapper 層直接返回 IPage 接口,讓分頁模型完全自定義
IPage page = baseMapper.selectPage(page, ...);
4、通用 Mapper 通用 Service 通用 Api 層
// 通用 API 控制層
@GetMapping("/api")
public R
ApiAssert.notNull(ErrorCode.TEST, test);
return success(test);
}
5、 代碼生成器一行擼到底,各種姿勢都支持
// 代碼生成器
new AutoGenerator().setGlobalConfig(
// 全局配置
).setDataSource(
// 數(shù)據(jù)源配置
).setStrategy(
// 策略配置
).setPackageInfo(
// 包配置
).setCfg(
// 注入自定義配置
).setTemplate(
// 模板配置
).execute();
6、 ActiveRecord 模式,不在羨慕動態(tài)語言( 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
new EntityWrapper
);
// 刪除 User
result = t2.deleteById();
7、 開發(fā)輔助插件 OR 工具
分頁插件, 執(zhí)行分析插件,性能分析插件,樂觀鎖插件,XML熱加載,公共字段自動填充,邏輯刪除,讀寫分離 & 多數(shù)據(jù)源, 多租戶 SQL 解析器,通用枚舉自動注入
8、IDEA 輔助開發(fā)插件 MybatisX
首發(fā):http://java.itcast.cn