zoukankan      html  css  js  c++  java
  • 第一章 初始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:强大、方便、高效、复杂、间接、全自动化

  • 相关阅读:
    Delete Them
    Toda 2
    JQuery案例:购物车加减
    JQuery案例:折叠菜单
    JQuery案例:暖心小广告
    JQuery案例:左右选
    JQuery动画
    JQuery切换事件
    JQuery文档操作
    JQuery选择器
  • 原文地址:https://www.cnblogs.com/yaoyao9/p/13790633.html
Copyright © 2011-2022 走看看