开源项目

知识点

相关文章

更多

最近更新

更多

快速了解mybatis

2019-03-28 23:54|来源: 网路

什么是 MyBatis?

MyBatis 是一款优秀的持久层框架,它支持定制化 SQL、存储过程以及高级映射。MyBatis 避免了几乎所有的 JDBC 代码和手动设置参数以及获取结果集。MyBatis 可以使用简单的 XML 或注解来配置和映射原生类型、接口和 Java 的 POJO(Plain Old Java Objects,普通老式 Java 对象)为数据库中的记录。

MyBatis是被称为一个数据映射和映射需要的类的属性和数据库中的表的列之间的参数和结果。

MyBatis和其他持久化框架,如Hibernate之间的显著区别在于,MyBatis强调使用SQL,而其他的框架通常使用一个自定义的查询语言,具有Hibernate查询语言(HQL)或Enterprise JavaBeans的查询语言(EJB QL)。


MyBatis的设计理念:

简单: MyBatis的被广泛认为是可用的最简单的持久化框架之一。

快速开发:MyBatis的理念是尽一切可能,以方便超快速开发。

独立的接口:MyBatis提供独立于数据库的接口和API,帮助应用程序的其余部分保持独立的任何持久性相关的资源,

开源:MyBatis是自由和开放源码软件。


MyBatis的优点

支持存储过程:MyBatis的SQL封装以存储过程的形式,使业务逻辑保持在数据库之外,应用程序更易于部署和测试,更便于移植。

支持内嵌的SQL:预编译器不是必需的,并有完全访问所有的SQL语句的特性。

支持动态SQL: MyBatis特性提供基于参数动态生成SQL查询。

支持O / RM:MyBatis支持许多相同的功能作为一个O / RM工具,如延迟加载,连接抓取,缓存,运行时代码生成和继承


Mybatis官网:

http://www.mybatis.org/


Mybatis和Hibernate的区别

Mybatis和Hibernate之间有着较大的差异,但两者解决方案很好,因为他们有特定的领域。

Mybatis :

    简单

    更快的开发时间

    灵活

    封装尺寸更小

    Mybatis利用SQL语句可能是依赖数据库

Hibernate:

    为你生成SQL,这意味着你不用花时间在SQL上。

    提供了许多更先进的高速缓存

    高可扩展性

    使用Hibernate的HQL是相对独立于数据库,它是更容易改变数据库。

Hibernate映射的Java作为POJO对象,Mybatis将ResultSet映射,从JDBC API给出POJO OBJETS的数据库表。

如果您使用存储过程,那么在Hibernate中可以做到这一点,但它在Mybatis比较有点困难。作为一种替代的解决方案Mybatis的映射结果集对象,所以没必要去关心表结构。这非常适用于存储过程,非常适用于报表应用程序等

最后,Hibernate和iBATISMybatis的都是开源的对象关系映射(ORM)在同行业中可用的工具。使用这些工具的取决于你。

Hibernate和Mybatis两者也有来自Spring框架的良好支持,以便它不应该是一个问题,选择其中之一。


相关问答

更多
  • MyBatis 本是apache的一个开源项目iBatis, 2010年这个项目由apache software foundation 迁移到了google code,并且改名为MyBatis 。2013年11月迁移到Github。 iBATIS一词来源于“internet”和“abatis”的组合,是一个基于Java的持久层框架。iBATIS提供的持久层框架包括SQL Maps和Data Access Objects
  • 下载mybatis的插件mybatis-generator-core,设置基本的参数,命令行运行一下。就可以生成对应的xml,model、mapper等。
  • MyBatis缓存[2021-10-02]

    可能会有很多人不理解这里,二级缓存带来的好处远远比不上他所隐藏的危害。 缓存是以namespace为单位的,不同namespace下的操作互不影响。 insert,update,delete操作会清空所在namespace下的全部缓存。 通常使用MyBatis Generator生成的代码中,都是各个表独立的,每个表都有自己的namespace。
  • mybatis不是写的标准sql吗? 不应该存在问题,存在问题就是sql 语句的问题。
  • 你不是已经写出来了吗?小小的修改如下: SELECT we.safeTypeId,COUNT(safeTypeId) as safeTypeId,com.name from se_weak_analysis we,se_common_type com where riskLevel=#{riskLevel} and we.safeTypeId=com.id and infosysId in ( select id from se_info_sys where id in( select infosysId ...
  • 1、ctrl+点击xml文件中的 、下载该文件到你的硬盘文件夹下 3、windows -->preferences-->xml-->xml catalog-->add-->fileSystem.. 后再设置 key type-->public id key-->加入xml文件下的-//mybatis.org//DTD Mapper 3.0//EN OK 4、关闭你的xml文件,刷新一下,ok。可以用了。
  • 1、Shift + Ctrl +R 按文件名称搜索文件 2、Ctrl + H 选择Java file 第一行输入关键字,第二行再输入文件的后缀 *.xml *.java等
  • 可以采用快捷键,Ctrl+Shift+R来试试。
  • 配置Mybatis Generator不要生成Example类 Mybatis Generator默认设置会生成一大堆罗哩罗嗦的Example类,主要是用各种不同的条件来操作数据库,大部分是用不到的,用到的时候手工修改mapper和接口文件就行了。
  • mybatis 和 hibernate是两种完全不同的映射方式的。 mybatis 倾向SQL的操作。mybatis 官网有工具可以生成映射的Mapping文件,就可以完成一般的操作