zoukankan      html  css  js  c++  java
  • Mybatis 简介

    Mybatis 简介

    1.什么是 MyBatis?

    MyBatis 是一款优秀的持久层框架,它支持自定义 SQL、存储过程以及高级映射。MyBatis 免除了几乎所有的 JDBC 代码以及设置参数和获取结果集的工作。

    MyBatis 可以通过简单的 XML 或注解来配置和映射原始类型、接口和 Java POJO(Plain Old Java Objects,普通老式 Java 对象)为数据库中的记录。

    1.2.什么是持久化?

    持久化是 将程序数据在持久状态和瞬时状态间转换的机制,将数据保存到可永久保存的存储设备中。最常见的就是将内存中的对象存储在数据库中,

    或者存在磁盘文件、XML 数据文件中等等。其中,文件 IO 属于持久化机制,而 JDBC 也是一种持久化机制。

    1.3. 为什么需要持久化

    之所以需要持久化,是由于内存自身缺陷导致。我们知道,内存在遇到某些外界因素影响后会丢失,但是我们的一些数据是绝对不能丢失的,但我们又无法保证不收外界因素影响。

    同时内存成本较高,比起硬盘、光盘等外存,其价格要高上几个数量级,而且维持成本也较高。在这种情况下,我们不得不寻求另一种方案来存储数据对象,

    而持久化就是其中的一种选择,我们能够通过持久化将数据缓存到外存,从而降低成本。

    1.4什么是持久层

    所谓持久层,就是用于完成持久化工作的代码块(dao 层【DAO(Data Access Object)】)。数据持久化通常都是将内存中的数据保存到磁盘中来加以固化,

    而实现这一过程大多是通过 关系数据库 来完成。而且比起其他部分,该层需要有一个较为清晰和严格的逻辑边界。

    2.为什么不用 JDBC?

    针对数据库操作,Java 其实已经提供了相应的解决方案 -- JDBC。那既然已经有了现成的工具,那为什么还会有 MyBatis 的出现呢?

    虽然 JDBC 提供了对数据库操作的解决方案,但是存在着如下问题:

      1.数据库连接的频繁创建和释放造成了一定程度上的资源浪费,从而影响到系统性能,但如果使用数据库连接池就能在一定程度上缓解该问题;

      2.SQL 语句在代码中出现,会造成代码不易维护;

      3.使用 preparedStatement 向占位符传递参数时存在硬编码,也会进一步加大系统维护的难度;

      4.对结果集进行解析时存在硬编码,SQL 变化将导致解析代码改变,系统难以维护,但如果能将数据库记录进行封装成 POJO 对象,解析起来就会方便很多。

    3. 为什么用MyBatis?

    1.简单易学

    2.灵活

    3.sql和代码的分离提高了可维护性

    4.提供映射标签,支持对象与数据的ORM字段关系映射

    5.提供对象关系映射标签,支持对象关系组建维护

    6.提供xml标签,支持编写动态sql

  • 相关阅读:
    驱动下的异常处理
    头文件 .h 与源文件 .ccp 的区别
    驱动程序进阶篇
    驱动中链表的使用
    内存操作相关内核 API 的使用
    链表的概念、建立、删除与插入
    编写简单的 NT 式驱动程序的加载与卸载工具
    驱动程序入门篇
    c++ 指针的简单用法
    CTL_CODE 宏 详解
  • 原文地址:https://www.cnblogs.com/love2000/p/14188046.html
Copyright © 2011-2022 走看看