對比項 | mybatis-plus | mybatis-enhance | mapper | fastmybatis |
---|---|---|---|---|
表名映射 | @TableName | @Table | JPA:@Table | JPA:@Table |
主鍵映射 | @TableId | @Id | JPA:@Id | JPA:@Id |
字段映射 | @TableField | @Column | JPA:@Column | JPA:@Column |
CRUD-主鍵查詢 | selectById(Serializable var1) | selectOne(Id id) | selectByPrimaryKey(Object var1) | getById(ID var1) |
自定義字段 | |
selectBySql(String sql, Map<String, Object> params) |
example.selectProperties("id", "countryname"); Example.builder(Country.class) .select("countryname") |
mapper.listMap(columns, query) |
自定義字段List<Map> | selectMaps(Wrapper var1) | selectBySql() | 無 | mapper.listMap(columns, query) |
條件構造器 | Wrapper | 無構造器,提供selectBySql(String sql, Map<String, Object> params)方法 | Example/Weekend | Query |
分頁查詢 | selectPage(IPagevar1, Wrappervar2) | selectByPageable(Pageable pageable) | selectByExample(weekend) 實體類中包含page/rows字段 | new Query().page(1, 2) |
特色 | 功能強大、穩定 | Mapper采用spring data jpa一樣的方式,接口方法名按規范命名可以不用寫sql。 提供相同namespace的mappper.xml自動合並 |
提供Example、Weekend | Query條件構造簡單方便,而且提供相同namespace的mapper.xml自動合並 |
文檔鏈接 | http://baomidou.oschina.io/mybatis-plus-doc/#/?id=簡介 | https://gitee.com/hengboy/mybatis-enhance | https://gitee.com/free/Mapper/wikis/1.3-spring-boot?sort_id=208198 | https://durcframework.gitee.io/fastmybatis/ |
以上mybatis的擴展框架都沒有對多表關聯進行進一步的優化。實際上,多表關聯的情況下,還是xml比較方便!!!所以也無需進一步拓展。