• 初识Mybatis


    1    框架的概念
    框架(Framework)

            是一个提供了可重用的公共结构的半成品。它为我们创建新的应用程序提供了极大的便利。

    一方面提供了可以拿来就用的工具,更重要的是,提供了可重用的设计。对应用程序来说,

    “框架”就是应用程序的骨架,开发者可以在这个骨架上加上自己的东西,搭建符合自己需求的应用系统。

    框架中凝结着前人的经验和智慧,使用框架,我们就站在巨人的肩膀上。 

                       框架保证了程序结构风格的统一。从企业的角度来说,降低了培训成本和软件的维护成本。框架在结构统一和创造力之间维持了一个合适的平衡。
    1.2.1  数据持久化概念 

                       数据持久化是将内存中的数据模型转换为存储模型,以及将存储模型转换为内存中的数据模型的统称。
    1.2.2   MyBatis框架及ORM 

    1.  MyBatis框架简介 

                       MyBatis是一个开源的数据持久化框架。它内部封装了通过JDBC访问数据库的操作,支持普通的SQL查询,

                    存储过程和高级映射,几乎笑出了所有JDBC代码和参数的手工设置以及结果集的检索。MyBatis作为持久层的框架,

                    其主要思想是将程序中的大量SQL语句剥离出来,配置在配置文件中,实现SQL的灵活配置。这样做的好处是将SQL与程序代码分离,

                  可以在不修改程序代码的情况下,直接在配置文件中修改SQL。 

                                                  MyBatis的前身是iBatis,本是Apache的一个开源项目,2010年这个项目由Apache Software Foundation迁移到了Google Code,并改名为MyBatis。
    2.什么是ORM
                   ORM(Object/Relational Mapping)即对象/关系映射,是一种数据持久化技术。它在对象模型和关系型数据库之间建立起对应关系,

                   并提供了一种机制,通过JavaBean对象去操作数据库表中的数据。 

    3.MyBatis是ORM解决方案 

                   基于ORM,MyBatis在对象模型和关系数据库的表之间建立了一座桥梁,通过MyBatis建立SQL关系映射,以便捷的实现数据存储、查询、更改和删除等操作。 

    1.2.4   MyBatis框架的优缺点及其适用的场合 

    1.MyBatis框架的优点
             (1.)与JDBC相比,减少了50%以上的代码量。
            (2.)MyBatis是最简单的持久化框架,小巧并且简单易学。
           (3.)MyBatis相当灵活,不会对应用程序或者数据库的现有设计强加任何影响,SQL写在XML里,从程序代码中彻底分离,降低耦合度,便于统一管理和优化,并可重用。
           (4.)提供了XML标签,支持编写动态SQL语句。
          (5.)提供了映射标签,支持对象与数据库的ORM关系字段映射。


    2.MyBatis框架的缺点 

    (1.)SQL语句的编写工作量较大,对开发人员编写SQL语句的功底有一定要求。

    (2.)SQL语句依赖于数据库,导致数据库移植性较差,不能随意更换数据库。

    3.MyBatis框架适用场合

                        MyBatis专注于SQL本身,是一个足够灵活的DAO层解决方案,对性能的要求很高,或者需求变化较多的项目,如互联网项目,那么MyBatis将是不错的选择。

  • 相关阅读:
    Android开发:android.support.v7.widget.AppCompatButton cannot be cast to android.widget.EditText;使用Fragment时不同引入包的问题解决
    Android开发:java.net.SocketException: Permission denied问题解决
    毕业设计进度:3月26日
    Android开发:在非Activity类中,如何实现跳转到另一个Activity
    Android开发:Textview控件显示的字符串中部分文字格式修改
    Android开发:URLDecoder: Illegal hex characters in escape (%) pattern : %编码问题
    Android开发:输入框点击后弹出的小键盘把页面向上挤压问题解决
    Android开发:Can't create handler inside thread that has not线程问题解决
    CCF认证历年试题
    北大ACM
  • 原文地址:https://www.cnblogs.com/qinzhenyu/p/11596032.html
Copyright © 2020-2023  润新知