tkmybatis VS mybatisplus
本文是简单对比了以下官网上的内容
文章目录
TkMybatis Vs MybatisPlus
1.基础CRUD BaseMapper
基本一样,只是方法名不一样,tk和MBG更贴切
2.代码生成器
Mybatis-Plus
通过 AutoGenerator 可以快速生成 Entity、Mapper、Mapper XML、Service、Controller 等各个模块的代码,极大的提升了开发效率。对原生的MBG进行了封装,更友好
Tk-Mybatis
代码生成器是基于 MBG 插件的,所以需要配合 MBG 使用。更贴近原生
3. 全局主键 Sequence主键
Mybatis-Plus
oracle等数据库主键策略配置Sequence
实体类配置主键Sequence,指定主键@TableId(type=IdType.INPUT)//不能使用AUTO
支持父类定义@KeySequence, 子类使用,这样就可以几个表共用一个Sequence
针对各种数据库的策略。
Tk-Mybatis
全局ID生成器 Vesta、UUID
两种策略是不太一样的。@KeySql(genId = UUIdGenId.class) ,Mapper 4.0.2
4. 热加载
Mybatis-Plus
3.0.6版本上移除了该功能,不过最新快照版已加回来并打上废弃标识,3.1.0版本上已完全移除
多数据源配置多个 MybatisMapperRefresh 启动 bean
默认情况下,eclipse保存会自动编译,idea需自己手动编译一次
/**
* 切莫用于生产环境(后果自负)
* <p>Mybatis 映射文件热加载(发生变动后自动重新加载).</p>
* <p>方便开发时使用,不用每次修改xml文件后都要去重启应用.</p>
*
* @author nieqiurong
* @since 2016-08-25
* @deprecated 2018-11-26
*/
哈哈哈哈
TK-Mybatis
不支持
5. 分页
Mybatis-Plus
分页插件
Tk.Mybatis
pagehelper
6. 额外功能
Mybatis-Plus
- 逻辑删除
- 内置代码生成器:采用代码或者 Maven 插件可快速生成 Mapper 、 Model 、 Service 、 Controller 层代码,支持模板引擎,更有超多自定义配置等您来使用
- 内置分页插件:基于 MyBatis 物理分页,开发者无需关心具体操作,配置好插件之后,写分页等同于普通 List 查询
- 内置性能分析插件:可输出 Sql 语句以及其执行时间,建议开发测试时启用该功能,能快速揪出慢查询
- 内置全局拦截插件:提供全表 delete 、 update 操作智能分析阻断,也可自定义拦截规则,预防误操作
- 内置 Sql 注入剥离器:支持 Sql 注入剥离,有效预防 Sql 注入攻击
- 多数据源
Tk.Mybatis
- 乐观锁
- 支持分页 pagehelper
- 多数据源