mybatis拓展框架对比
对比项 | 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比较方便!!!所以也无需进一步拓展。