株洲市建设质监站网站,浪尖设计集团有限公司,外贸公司怎么找客户,装修设计视频MyBatis和MyBatis_Plus的区别
MyBatis_Plus MyBatis_Plus 是一个 MyBatis 的增强工具#xff0c;只是在 MyBatis 的基础上增强了却没有做改变#xff0c;MyBatis-Plus支持所有MyBatis原生的特性#xff0c;所有引入MyBatis-Plus不会对现有的MyBatis框架产生任何影响。 MyBa…MyBatis和MyBatis_Plus的区别
MyBatis_Plus MyBatis_Plus 是一个 MyBatis 的增强工具只是在 MyBatis 的基础上增强了却没有做改变MyBatis-Plus支持所有MyBatis原生的特性所有引入MyBatis-Plus不会对现有的MyBatis框架产生任何影响。 MyBatis 和 MyBatis-Plus 的区别
MyBatis
所有SQL语句全部要自己写手动解析实体关系映射转换为MyBatis内部对象注入容器不支持Lambda形式调用
MyBatis-Plus
支持Lambda形式调用强大的条件构造器满足各类使用需求内置Mapper通用的Service少量的配置即可实现单表大部分CRUD操作提供了基本的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 操作更有强大的条件构造器满足各类使用需求 。 多种主键策略支持多达4种主键策略内含分布式唯一ID生成器可自由配置完美解决主键问题 。 支持热加载Mapper 对应的 XML 支持热加载对于简单的 CRUD 操作甚至可以无 XML 启动 支持ActiveRecord支持 ActiveRecord 形式调用实体类只需继承 Model 类即可实现基本 CRUD 操作 支持代码生成采用代码或者 Maven 插件可快速生成 Mapper 、 Model 、 Service 、 Controller 层代码生成自定义文件避免开发重复代码支持模板引擎、有超多自定义配置等。 支持自定义全局通用操作支持全局通用方法注入 Write once, use anywhere 。 支持关键词自动转义支持数据库关键词order、key…自动转义还可自定义关键词 。 内置分页插件基于 Mybatis 物理分页开发者无需关心具体操作配置好插件之后写分页等同于普通List查询。 内置性能分析插件可输出 Sql 语句以及其执行时间建议开发测试时启用该功能能有效解决慢查询 。 内置全局拦截插件提供全表 delete 、 update 操作智能分析阻断预防误操作。 默认将实体类的类名查找数据库中的表使用TableName(value“table1”)注解指定表名TableId指定表主键若字段与表中字段名保持一致可不加注解