第一章 初始MyBatis

第一章  初始MyBatis

SpringMVC+Spring+MyBatis框架

1.简历制作使用模板的好处:

   不用考虑布局,排版等。提高效率

   可专心在简历内容上

   结构统一,便于人事阅读

   新手也可以做出专业的简历

  1. 框架技术

   是一个应用程序的半成品

   提供可重用的公共结构

   按一定规则组织的一组组件

优势:

 不用再考虑公共问题

专心在业务实现上

结构统一,易于学习、维护

新手也可写出好程序

  1. 主流框架

Struts2   耦合度高  封装Severlet

    MVC设计模式的实现

拦截器

可变和可重用的标签

HIBERNATE

ORM,简化数据库操作

DAO

Spring

  依赖注入容器 / AOP实现

声明式事务

简化Java EE应用

黏合剂,将大家组装到一起

Spring MVC 

  结构最清晰的MVC Model2实现

高度可配置,支持多种视图技术

定制化开发

MyBatis

  半自动化的ORM实现

DAO

动态SQL

小巧灵活、简单易学

 

持久化是程序数据在瞬时状态和持久状态间转换的过程

4.ORM:(Object Relational Mapping)

编写程序的时候,以面向对象的方式处理数据

保存数据的时候,却以关系型数据库的方式存储

ORM解决方案包含下面四个部分

在持久化对象上执行基本的增、删、改、查操作

对持久化对象提供一种查询语言或者API

对象关系映射工具

提供与事务对象交互、执行检查、延迟加载以及其他优化功能

5.MyBatis的核心对象及其作用

SqlSessionFactoryBuilder  方法体内

用过即丢,其生命周期只存在于方法体内

可重用其来创建多个 SqlSessionFactory 实例

负责构建SqlSessionFactory,并提供多个build方法的重载

SqlSessionFactory 全局

SqlSessionFactory是每个MyBatis应用的核心

作用:创建SqlSession实例

作用域:Application

生命周期与应用的生命周期相同

单例

存在于整个应用运行时,并且同时只存在一个对象实例

SqlSession   request一个请求区间

  包含了执行SQL所需的所有方法

对应一次数据库会话,会话结束必须关闭

线程级别,不能共享

SqlSession的两种使用方式

通过SqlSession实例直接运行映射的SQL语句

基于Mapper接口方式操作数据

 

mybatis-config.xml  系统核心配置文件

mapper.xml  SQL映射文件

6.使用MyBatis的开发步骤

>下载mybatis-3.2.2.jar包并导入工程

>编写MyBatis核心配置文件(configuration.xml)

>创建实体类-POJO

>DAO-SQL映射文件(mapper.xml)

>创建测试类

读取核心配置文件mybatis-config.xml

创建SqlSessionFactory对象,读取配置文件

创建SqlSession对象

调用mapper文件进行数据操作

7.MyBatis框架优缺点

优点

JDBC相比,减少了50%以上的代码量

最简单的持久化框架,小巧并简单易学

SQL代码从程序代码中彻底分离,可重用

提供XML标签,支持编写动态SQL

提供映射标签,支持对象与数据库的ORM字段映射

缺点

SQL语句编写工作量大,对开发人员有一定要求

数据库移植性差

配置properties元素的两种方式

通过外部指定的方式(database.properties),实现动态配置

直接配置为xml,实现动态配置

resource属性值的优先级高于property子节点配置的值

environments元素

表示配置MyBatis的多套运行环境,将SQL映射到多个不同的数据库上

子元素节点:environment,但是必须指定其中一个为默认运行环境(通过default指定)

mappers元素

映射器,定义SQL映射语句

须在配置中引用mapper映射文件

方式一:使用类资源路径获取资源

方式二:使用URL获取资源

 

8.HibernateMyBatis的异同

开发方面

       hibernate开发中,sql语句已经被封装,直接可以使用,加快系统开发;

       Mybatis 属于半自动化,sql需要手工完成,稍微繁琐;

sql优化方面

        Hibernate 自动生成sql,有些语句较为繁琐,会多消耗一些性能;

        Mybatis 手动编写sql,可以避免不需要的查询,提高系统性能;

对象管理比对

        Hibernate 是完整的对象-关系映射的框架,开发工程中,无需过多关注底层实现,只要去管理对象即可;

        Mybatis 需要自行管理 映射关系;

 

Hibernate优势

HibernateDAO层开发比MyBatis简单,Mybatis需要维护SQL和结果映射。

 

Hibernate对对象的维护和缓存要比MyBatis好,对增删改查的对象的维护要方便。

 

Hibernate数据库移植性很好,MyBatis的数据库移植性不好,不同的数据库需要写不同SQL

 

Hibernate有更好的二级缓存机制,可以使用第三方缓存。MyBatis本身提供的缓存机制不佳。

 

Mybatis优势

MyBatis可以进行更为细致的SQL优化,可以减少查询字段。

 

MyBatis容易掌握,而Hibernate门槛较高。

Mybatis:小巧、方便、高效、简单、直接、半自动化

Hibernate:强大、方便、高效、复杂、间接、全自动化

posted @ 2020-10-10 10:31  sky、姚姚  阅读(58)  评论(0编辑  收藏  举报