本文比较重要的概念:MyBatis 数据持久层 JDBC DAO Hibernate POJO
- MyBatis的前身是Apache的开源项目iBatis,目前由GitHub提供维护,是一个基于java的持久层框架
注解
数据持久层:
J2EE的
三层结构是指表示层(Presentation),业务逻辑层(Business Logic)以及基础架构层(Infrastructure)
对三层结构进行扩展来满足一些项目的具体要求,一个最常用的扩展就是将三层体系扩展为
五层体系,即表示层(Presentation)、控制/中介层(Controller/Mediator)、领域层(Domain)、数据持久层(Data Persistence)和数据源层(Data Source)。
- MyBatis的优势在于灵活,几乎可以代替JDBC,同时提供了接口编程
注解
JDBC(Java Database Connectivity)(翻译:Java数据库连接)
是Java语言中用来规范客户端程序如何来访问数据库的应用程序接口,提供了诸如查询和更新数据库中数据的方法。
JDBC API主要位于JDK中的java.sql包中(之后扩展的内容位于javax.sql包中)
用途:与数据库建立连接、发送 SQL 语句、处理结果
- MyBatis的数据访问层DAO
注解
DAO(Data Access Object)(翻译:数据访问对象)
是一个数据访问接口,数据访问:顾名思义就是与数据库打交道。夹在业务逻辑与数据库资源中间。
目前MyBatis的数据访问层DAO是不需要实现类的,它只需要一个接口和XML(或者注解)
- MyBatis取代了Hibernate成为了Java互联网中首选的持久层框架
注解
Hibernate是一个开放源代码的对象关系映射框架,它对JDBC进行了非常轻量级的对象封装,它将POJO与数据库表建立映射关系,是一个全自动的orm框架
MyBatis和Hibernate都是持久层框架都会涉及数据库
- POJO的概念
注解
POJO(Plain Ordinary Java Object)(翻译:简单的Java对象)
实际就是普通JavaBeans,是为了避免和EJB混淆所创造的简称
实质上可以理解为简单的实体类
通指没有使用Entity Beans的普通java对象,可以把POJO作为支持业务逻辑的协助类
书本原文(划重点)
无论是MyBatis还是Hibernate都是依靠某种方法,将数据库的表和POJO映射起来的,这样程序员就可以操作POJO来完成相关的逻辑了