Mybatis 和 Mybatis Plus 优缺点
Mybatis Plus Mybatis-Plus是一个Mybatis的增强工具,只是在Mybatis的基础上做了增强却不做改变,MyBatis-Plus支持所有Mybatis原生的特性,所以引入Mybatis-Plus不会对现有的Mybatis构架产生任何影响。
Mybatis 和 Mybatis Plus 的区别 MyBatis:
所有SQL语句全部自己写 手动解析实体关系映射转换为MyBatis内部对象注入容器 不支持Lambda形式调用 Mybatis Plus:
强大的条件构造器,满足各类使用需求 内置的Mapper,通用的Service,少量配置即可实现单表大部分CRUD操作 支持Lambda形式调用 提供了基本的CRUD功能,连SQL语句都不需要编写 自动解析实体关系映射转换为MyBatis内部对象注入容器 MyBatis的优缺点 优点
MyBatis封装了JBDC底层访问数据库的细节,使我们程序猿不需要与JDBC API打交道,就可以访问数据库 MyBatis简单易学,程序猿直接编写SQL语句,适合于对SQL语句性能要求比较高的项目 SQL语句封装在配置文件中,便于统一管理与维护,降低了程序的耦合度 SQL代码从程序代码中彻底分离出来,可重用 提供了动态SQL标签,支持编写动态SQL 提供映射标签,支持对象与数据库的ORM字段关系映射 缺点 过于依赖数据库SQL语句,导致数据库移植性差,更换数据库,如果SQL语句有差异,SQL语句工作量大 由于xml里标签id必须唯一,导致DAO中方法不支持方法重载 MyBatis-Plus 优点 依赖少:仅仅依赖 Mybatis 以及 Mybatis-Spring 。 损耗小:启动即会自动注入基本 CURD,性能基本无损耗,直接面向对象操作 。 预防Sql注入:内置 Sql 注入剥离器,有效预防Sql注入攻击 。 通用CRUD操作:内置通用 Mapper、通用 Service,仅仅通过少量配置即可实现单表大部分 CRUD 操作,更有强大的条件构造器,满足各类使用需求 。 5、多种主键策略:支持多达4种主键策略(内含分布式唯一ID生成器),可自由配置,完美解决主键问题 。