首页 > 其他分享 >Mybatis基础

Mybatis基础

时间:2022-11-27 09:34:11浏览次数:64  
标签:JDBC 持久 框架 代码 基础 Mybatis 数据库

1. Mybatis概述

1.1 Mybatis概念

  • MyBatis 是一款优秀的持久层框架,用于简化 JDBC 开发

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

  • 官网https://mybatis.org/mybatis-3/zh/index.html

持久层:

  • 负责将数据到保存到数据库的那一层代码。

    以后开发我们会将操作数据库的Java代码作为持久层。而Mybatis就是对jdbc代码进行了封装。

  • JavaEE三层架构:表现层、业务层、持久层

框架:

  • 框架就是一个半成品软件,是一套可重用的、通用的、软件基础代码模型
  • 在框架的基础之上构建软件编写更加高效、规范、通用、可扩展

1.2 JDBC 缺点

下面是 JDBC 代码,通过该代码分析都存在什么缺点:

img

  • 硬编码

    • 注册驱动、获取连接

      上图标1的代码有很多字符串,而这些是连接数据库的四个基本信息,以后如果要将Mysql数据库换成其他的关系型数据库的话,这四个地方都需要修改,如果放在此处就意味着要修改我们的源代码。

    • SQL语句

      上图标2的代码。如果表结构发生变化,SQL语句就要进行更改。这也不方便后期的维护。

  • 操作繁琐

    • 手动设置参数

    • 手动封装结果集

      上图的代码是对查询到的数据进行封装,而这部分代码是没有什么技术含量,而且特别耗费时间的。

1.3 Mybatis 优化

  • 硬编码可以配置到配置文件
  • 操作繁琐的地方mybatis都自动完成

img

下图是持久层框架的使用占比。

img

标签:JDBC,持久,框架,代码,基础,Mybatis,数据库
From: https://www.cnblogs.com/NorthPoet/p/16929008.html

相关文章

  • 动态路由---OSPF基础概念
    1.OSPF概述OpenShortestPathFirst,开放最短路径优先大中型网络上使用最为广泛的IGP协议链路状态路由协议无类使用组播(224.0.0.5和224.0.0.6)收敛较快以开销(Cost)作......
  • Web安全基础 - RCE CTFHub
    Web安全基础-RCECTFhub题目来自CTFHub,Web方向技能树Rce部分https://www.ctfhub.com/#/skilltree基本介绍远程命令/代码执行漏洞,简称RCE漏洞,可以让攻击者直接向后台服......
  • Web安全基础 - LFI Labs
    Web安全基础-LFILabs本实验来自于https://github.com/paralax/lfi-labs做到一半了才发现BUUCTF上有,可以参考本篇做一下更有成就感CMDCMD-1该关卡直接执行Get方法cm......
  • LevelDB基础原理(2) LSM Tree
    1.介绍1.1描述LSMTree(LogStructuredmergeTree)意思是日志结构合并树。目前广泛应用于一些流行的KV存储引擎中(LevelDBl、HBase、Bigtable等)LSM树并不是像红黑......
  • LevelDb基础原理(1) SSTable
    1.介绍1.1描述SSTable(SortedStringTable)是一个通常放在磁盘上的,排序的字符串表,用来高效存储大量的键值对数据,同时搭配上优化实现IO操作的高吞吐量.1.2背景......
  • 微积分与概率论基础
    1、两边夹定理当\(x\inU(x_0,r)\)时,有\(g(x)\leqf(x)\leqh(x)\)成立,并且$$\lim_{x\tox_0}g(x)=A,\lim_{x\tox_0}h(x)=A$$那么\[\lim_{x\tox_0}f(x)=A......
  • MAUI新生2.1-数据绑定和MVVM:数据绑定基础
    一、基本概念1、数据绑定,链接两个对象的属性,其中一个对象作为绑定源,另一个对象作为绑定目标。两个链接的属性之间,可以实现双向、单向或单次等丰富的数据响应,一方数据发生......
  • Java基础——继承(Extends)
    使用extends(继承)有什么好处?使用继承可以实现代码的重用,通过继承,子类可以继承父类的成员变量及成员方法,同时子类也可以定义自己的成员变量和成员方法。届时,子类将具有父类......
  • 学期(2022-2023-1)学号(20221410) 《计算机基础与程序设计》第十三周学习总结
    学期(2022-2023-1)学号20221410《计算机基础与程序设计》第十三周学习总结作业信息这个作业属于哪个课程<班级的链接>(2022-2023-1-计算机基础与程序设计)这个作......
  • 学期(2022-2023-1)学号(20221403) 《计算机基础与程序设计》第十三周学习总结
    学期(2022-2023-1)学号(20221403)《计算机基础与程序设计》第十三周学习总结作业信息这个作业属于哪个课程<班级的链接>(如2022-2023-1-计算机基础与程序设计)这个作......