MyBatis入门【一】MyBatis框架基本概念

49 篇文章 5 订阅
37 篇文章 1 订阅

今天开始就正式进入学习MyBatis框架的光明大道了,在正式学习之前先来刷刷框架学习前的副本。

百科MyBatis

百度百科

MyBatis 本是apache的一个开源项目iBatis, 2010年这个项目由apache software foundation 迁移到了google code,并且改名为MyBatis 。2013年11月迁移到Github。

iBATIS一词来源于“internet”和“abatis”的组合,是一个基于Java的持久层框架。iBATIS提供的持久层框架包括SQL Maps和Data Access Objects(DAOs)

MyBatis-百度百科

维基百科

MyBatis是一个Java持久化框架,它通过XML描述符或注解把对象与存储过程或SQL语句关联起来。

MyBatis是在Apache许可证 2.0下分发的自由软件,是iBATIS 3.0的分支版本。其维护团队也包含iBATIS的初创成员。

MyBatis-维基百科

MyBatis大本营

MyBatis-Github

MyBatis中文文档

功能概况

与其他的对象关系映射框架不同,MyBatis并没有将Java对象与数据库表关联起来,而是将Java方法与SQL语句关联。MyBatis允许用户充分利用数据库的各种功能,例如存储过程、视图、各种复杂的查询以及某数据库的专有特性。如果要对遗留数据库、不规范的数据库进行操作,或者要完全控制SQL的执行,MyBatis是一个不错的选择。

与JDBC相比,MyBatis简化了相关代码:SQL语句在一行代码中就能执行。MyBatis提供了一个映射引擎,声明式的把SQL语句执行结果与对象树映射起来。通过使用一种内建的类XML表达式语言,或者使用Apache Velocity集成的插件,SQL语句可以被动态的生成。

MyBatis与Spring Framework和Google Guice集成,这使开发者免于依赖性问题。

MyBatis支持声明式数据缓存(declarative data caching)。当一条SQL语句被标记为“可缓存”后,首次执行它时从数据库获取的所有数据会被存储在一段高速缓存中,今后执行这条语句时就会从高速缓存中读取结果,而不是再次命中数据库。MyBatis提供了基于 Java HashMap 的默认缓存实现,以及用于与OSCache、Ehcache、Hazelcast和Memcached连接的默认连接器。MyBatis还提供API供其他缓存实现使用。
【摘自维基百科】

MyBatis基础知识

1、SqlMapConfig.xml(是MyBatis的全局配置文件,名称不固定)

  • 配置数据源、事务等mybatis运行环境
  • 配置映射文件(配置SQL语句)
  • 多个mapper.xml(映射文件)

2、SQL SessionFactory(会话工厂),根据配置文件创建工厂

作用:创建SqlSession

3、SqlSession(会话)

是一个接口,面向用户(程序员)的接口

作用:操作数据库(CRUD)

4、Executor(执行器)

是一个接口(基本执行器、缓存执行器)

作用:SqlSession内部通过执行器操作数据库

5、mapped statement(底层封装对象)

作用:对操作数据库存储封装,包括SQL语句,输入参数,输出结果类型

输入参数类型:Java简单数据类型、hashmap、pojo
输出结果类型:Java简单类型、hashmap、pojo

6、数据库知识

Mybatis VS Hibernate

* Hibernate简要介绍*

在说MyBatis和Hibernate的区别前肯定要先介绍下基于ORM框架的Hibernate的啦

Hibernate是一个开放源代码的对象关系映射框架,它对JDBC进行了非常轻量级的对象封装,它将POJO与数据库表建立映射关系,是一个全自动的orm框架,hibernate可以自动生成SQL语句,自动执行,使得Java程序员可以随心所欲的使用对象编程思维来操纵数据库。 Hibernate可以应用在任何使用JDBC的场合,既可以在Java的客户端程序使用,也可以在Servlet/JSP的Web应用中使用,最具革命意义的是,Hibernate可以在应用EJB的J2EE架构中取代CMP,完成数据持久化的重任。
【摘自百度百科】

前段时间在学习Hibernate的时候,最开始的时候感觉挺难的,自认为Hibernate这个框架的门槛要比MyBatis高,在理解上边也要比MyBatis上要抽象点。但是当理解Hibernate基本原理后,发现我们在对数据库的操作上变为配置Hibernate,当配置好了Hibernate后,就只需要关心业务逻辑了,因为Hibernate已经帮我们处理好了POJO类与数据库关系表之间的映射。

VS Hibernate

在这里我就不细讲MyBatis和Hibernate两个框架的区别了,原因有三,

  • 1、在此处,您不是很了解MyBatis,不管你是否了解Hibernate
  • 2、我在这里不方便讲解两者的区别(这么拽的么?)
  • 3、我也不是很了解两个框架的区别(哦,原来这才是真正的原因。。。)

好吧,如果你就是想先了解两者的区别,请猛点MyBatis和Hibernate相比,优势在哪里?

让我们一起开启MyBatis入门之旅吧

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值