十大亮点:
mybatis-mp除拥有其他ORM框架的功能外,还设计了其他ORM没有的额外特性!!!
1. 默认值 (可动态、可自定义)
这意味着,你可以拥有更多的操作空间;例如 框架默认继承的默认值NOW,它既可以 Date 字段上,又可 放在LocalDate,LocalDateTime,Long,Int字段上
需要填充 创建人、修改人时,就可以使用动态默认值去实现了
2. 支持 不同数据库 ID自增配置
因为不同的数据库,自增是不一样的,有的数据库没办法自增ID,需要自己指定序列等才能实现自增
mybatis-mp 为了解决这问题,支持了同时支持不同数据库ID自增,从此实现了真正意义上的ORM
同时它也为同时支持 不同数据库 成为了可能
3. 可自动 填充删除时间
mybatis-mp 逻辑删除,除了可以标记删除,同时还可以额外加上 删除时间,其他框架只能支持 1个 标记字段
4. SQL模板(可编写任意SQL)
大家都知道,ORM是不可能覆盖所有的SQL的,如果遇到不支持的SQL,怎么办?
其他框架基本无为能力,只能全部改成写sql了,如果因为一小段SQL,导致你需要把ORM代码改成SQL,那这也太伤感了
好在你可以通过 mybatis-mp的SQL模板,解决这一问题
5. mapWithKey(把查询转成一个 Map<K,实体类/VO>)
mapWithKey 可以帮你节省一大半时间;例如你需要内存JOIN时,通常是需要进行2次循环,才能JOIN
6:非实体类(自动与实体类挂钩)的 部分字段 新增 和 修改
此功能大大减少转换的麻烦,针对简单新增 修改时,太方便了
7:枚举的良好支持
让枚举 和 普通类型 参数一样
8:mybatis-xml ORM 映射
mybatis-mp 不仅仅可以管理 java代码里ORM,还可以 对 XML里的SQL 进行ORM 映射
例如 :
<select id="getById" resultType="com.mybatis.mp.core.test.DO.SysRole">
select * from sys_role where id =1
</select>
这样 它自己会自动映射到实体类上,VO类也可以
9:优雅的 XML和 @Select查询 自动分页
内嵌优雅的XML自动分页, @Select查询 也可以自动分页,非常简单就可以了
10:多层嵌套/VO自动映射/自动select所需列
多层嵌套VO:让你可以构建复杂的不同层级的POJO
VO自动映射:可以支持复杂的映射,重名,多表映射 根本不是问题
自动select所需列:再也不用自己一个个select 列了
至少可以减少1/3的代码量和开发时间