对比MyBatis-Plus框架和MyBatis框架特性

一、MyBatisMyBatis前身是iBatis,是ClintonBegin在2001年发起的一个开源项目。最初侧重于码软件开发,后续发展成为一款基于java的持久层框架。Mybatis是一款优秀的持久层框架支持自定义SQL查询、存储过程和高级映射,消除了几乎所有的JDBC代码和参数的手动设置以及结果集的检索。MyBatis可以使用简单的XML或者注解进行映射和配置,通过将参数映射到配置的SQL最终解析为执行的SQL语句,查询后将SQl结果集映射成java对象返回。MyBatis提供的持久层框架包括SQLMaps(Mapper)和DataAccessObjects(DAO),相对于Hibernate而言它提供的是一种把自动化的ORM实现。MyBatis中一级缓存会默认启用(本地缓存)且不受控制,一般说缓存时指的是MyBatis的二级缓存主要使用的标签有1)、<select></select>对应注解@lSelect2)、<update></update>对应注解@Update3)、<insert></insert>对应注解@Insert4)、<delete></delete>对应注解@Delete5)、<where></where>:在某些条件根据入参有无决定是可使用以避免1=1这种写法,也会根据是否为where条件后第一个条件参数自动去除and6)、<if></if>:类似于java中的条件判断if,没有<else>标签

7)、<choose>标签<choose><when></when><otherwise></otherwise></choose>8)、<foreach></forwach>:可以对数组、Map或实现了Iterable接口(如List、Set)的对象遍历。可实现in、批量更新、批量插入等。9)、<resultMap></resultMap>:映射结果集10)、<resultType></resultType>:映射结果类型,可是java实体类或Map、List等类型。二、MyBatis-plusMyBatis-plus是一款MyBatis的增强工具,在MyBatis的基础上只做增强不做改变。其是国内团队苞米豆在MyBatis基础上开发的增强框架,扩展了一些功能,以提高效率。引入Mybatis-Plus不会对现有的Mybatis构架产生任何影响,而且MyBatis-plus支持所有Mybatis原生的特性1)依赖少:仅仅依赖Mybatis以及Mybatis-Spring。2)损耗小:启动即会自动注入基本CURD,性能基本无损耗,直接面向对象操作。3)预防Sql注入:内置Sql注入剥离器,有效预防Sql注入攻击。4)通用CRUD操作:内置通用Mapper、通用Service,仅仅通过少量配置即可实现单表大部分CRUD操作,更有强大的条件构造器,满足各类使用需求。5)多种主键策略:支持多达4种主键策略(内含分布式唯一ID生成器),可自由配置,完美解决主键问题。6)支持热加载:Mapper对应的XML支持热加载,对于简单的CRUD操作,甚至可以无XML启动7)支持ActiveRecord:支持ActiveRecord形式调用,实体类只需继承Model类即可实现基本CRUD操作8)支持代码生成:采用代码或者Maven插件可快速生成Mapper、Model、Service、Controller层代码(生成自定义文件,避免开发重复代码),支持模板引擎、有超多自定义配置等。

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值