对比MyBatis

您所在的位置:网站首页 maven高级特性 对比MyBatis

对比MyBatis

2023-03-04 17:56| 来源: 网络整理| 查看: 265

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

7)、标签8)、:可以对数组、Map或实现了Iterable接口(如List、Set)的对象遍历。可实现in、批量更新、批量插入等。9)、:映射结果集10)、:映射结果类型,可是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层代码(生成自定义文件,避免开发重复代码),支持模板引擎、有超多自定义配置等。

 



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3