8.5.2Mybatis框架介绍
-
MyBatis 本是apache的一个开源项目iBatis, 2010年这个项目由apache software foundation 迁移到了 google code,并且改名为MyBatis 。2013年11月迁移到Github。
-
iBATIS一词来源于“internet”和“abatis”的组合,是一个基于Java的持久层框架。iBATIS提供的持久层框 架包括SQL Maps和Data Access Objects(DAO)
-
MyBatis是一个支持普通SQL查询,存储过程和高级映射的优秀持久层框架。MyBatis消除了几乎所有的
-
JDBC代码和参数的手工设置以及对结果集的检索封装。MyBatis可以使用简单的XML或注解用于配置和 原始映射,将接口和Java的POJO(Plain Old Java Objects,普通的Java对象)映射成数据库中的记录。 Mybatis不是一个完全的orm框架,Mybatis需要程序员自己写sql,但是也存在映射(输入参数映射,输 出结果映射),学习门槛mybatis比hibernate低;同时灵活性高,特别适用于业务模型易变的项目,使用范围广。
-
简单概括: 更加简化jdbc代码,简化持久层,sql语句从代码中分离,利用反射,将表中数据与java bean 属性一一 映射 即 ORM(Object Relational Mapping 对象关系映射) 使用范围:
-
在日常的开发项目中,如中小型项目,例如ERP,需求与关系模型相对固定建议使用Hibernate,对于需求不固定的项目,比如:互联网项目,建议使用mybatis,因为需要经常灵活去编写sql语句。总之,mybatis成为当下必须学习掌握的一个持久层框架。
8.5.3Mybatis特点:
属于持久层ORM框架
-
持久层: 讲内存中对象数据,转移到数据库中的过程持久层 Mybatis Hibernate Spring-jpa
-
ORM Object Relational Mapping 对象关系映射框架 类 表 属性 字段 对象 记录
-
半自化 自动化 Mybatis 半自动化 表需要手动进行设计 提供sql 依赖与数据库平台 优点:学习使用简单(基与原声jdbc封装),优化灵活,适合做互联网项目 Hibernate 自动化ORM框架 表可以通过框架自动创建 省略一些基本的sql 不依赖与数据库平台 缺点: 学生成本高,优化难度大,适合与传统框(OA|图书管理系统...),不适合做大型互联网项 目
8.5.4Mybatis环境搭建
8.5.5导入jar包
4.2.1. mybatis核心jar包 4.2.2. mybatis依赖jar包 4.2.3. 数据库驱动jar包 4.2.4. Build Path 选中所有的jar包,右键build path->add to build path 管理外部的jar资源 4.3. Mybatis配置文件 mybatis提供两种配置文件, 核心配置文件 mybatis-config.xml|mybatis.xml 与 SQL映射文件 mapper.xml
环境搭建
<?xml version="1.0" encoding="UTF-8" ?><!--xml文件的版本申明--> <!--dtd约束 : 约束xml文件中的定义--> <!DOCTYPE configuration PUBLIC "-//mybatis.org//DTD Config 3.0//EN" "http://mybatis.org/dtd/mybatis-3-config.dtd"> <!--标记语言注释--> <!--xml文件的根元素:有且仅有一个,所有的内容全部定义在根元素中--> <configuration> <!--环境选择配置: default属性: 选择当前使用的环境,匹配具体环境的id属性值--> <environments default="dev"> <!--具体环境配置的定义 id属性 : 环境的唯一标识--> <environment id="dev"> <!--transactionManager : 事务管理机制 选择与JDBC相同的事务管理机制--> <transactionManager type="JDBC"/> <!-- dataSource : 配置数据源|是否使用连接池技术