• 初识MyBatis


    1.1、什么是Mybatis

    image-20201226092635260
    • MyBatis 是一款优秀的持久层框架

    • 它支持自定义 SQL、存储过程以及高级映射。

    • MyBatis 免除了几乎所有的 JDBC 代码以及设置参数和获取结果集的工作。

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

    • MyBatis 本是apache的一个开源项目iBatis, 2010年这个项目由apache software foundation 迁移到了google code,并且改名为MyBatis 。

    • 2013年11月迁移到Github

    如何获得MyBatis?

    1.2、持久化

    数据持久化

    • 持久化就是将程序的数据在持久状态和瞬时状态转化的过程
    • 内存:断电即失
    • 数据库(jdbc),io文件持久化。
    • 生活:冷藏,罐头

    为什么需要持久化服务呢?那是由于内存本身的缺陷引起的

    • 内存断电后数据会丢失,但有一些对象是无论如何都不能丢失的,比如银行账号等,遗憾的是,人们还无法保证内存永不掉电。

    • 内存过于昂贵,与硬盘、光盘等外存相比,内存的价格要高2~3个数量级,而且维持成本也高,至少需要一直供电吧。所以即使对象不需要永久保存,也会因为内存的容量限制不能一直呆在内存中,需要持久化来缓存到外存。

    1.3、持久层

    Dao层,Service层,Controller层……

    • 完成持久化工作的代码块 . ----> dao层 【DAO (Data Access Object) 数据访问对象】
    • 大多数情况下特别是企业级应用,数据持久化往往也就意味着将内存中的数据保存到磁盘上加以固化,而持久化的实现过程则大多通过各种关系数据库来完成。
    • 不过这里有一个字需要特别强调,也就是所谓的“层”。对于应用系统而言,数据持久功能大多是必不可少的组成部分。也就是说,我们的系统中,已经天然的具备了“持久层”概念?也许是,但也许实际情况并非如此。之所以要独立出一个“持久层”的概念,而不是“持久模块”,“持久单元”,也就意味着,我们的系统架构中,应该有一个相对独立的逻辑层面,专注于数据持久化逻辑的实现.
    • 与系统其他部分相对而言,这个层面应该具有一个较为清晰和严格的逻辑边界。【说白了就是用来操作数据库存在的!】

    1.4、为什么需要MyBatis?

    • Mybatis就是帮助程序猿将数据存入数据库中 , 和从数据库中取数据
    • 传统的jdbc操作 ,有很多重复代码块。比如 : 数据取出时的封装 , 数据库的建立连接等等... , 通过框架可以减少重复代码,提高开发效率。
    • 所有的事情,不用Mybatis依旧可以做到,只是用了它,所有实现会更加简单!技术没有高低之分,只有使用这个技术的人有高低之别
    • 优点:
      • 简单易学

      • 灵活

      • sql和代码的分离,提高了可维护性。

      • 提供映射标签,支持对象与数据库的orm字段关系映射

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

      • 提供xml标签,支持编写动态sql。

      • 最重要的一点:使用的人多!

    懂不懂,都是收获
  • 相关阅读:
    WinForm里保存TreeView状态
    动态规划 回溯和较难题
    go 基本链表操作
    leetcode 42接雨水
    leetcode 旋转数组搜索
    leetcode 牛客编程 子序列 树 数组(积累)
    剑指offer(积累)
    go快排计算最小k个数和第k大的数
    leetcode 打家劫舍
    leetcode 字符串相关问题
  • 原文地址:https://www.cnblogs.com/paidaxing0623/p/14210272.html
Copyright © 2020-2023  润新知