IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> Java知识库 -> Mybatis学习——理论 -> 正文阅读

[Java知识库]Mybatis学习——理论

  1. jdbc问题:
  • 数据库连接创建、释放频繁造成系统资源浪费,从而影响系统性能。如果使用数据库连接池可解决此问题。
  • Sql语句在代码中硬编码,造成代码不易维护,实际应用中sql变化的可能较大,sql变动需要改变java代码。
  • 使用preparedStatement向占有位符号传参数存在硬编码,因为sql语句的where条件不一定,可能多也可能少,修改sql还要修改代码,系统不易维护。
  • 对结果集解析存在硬编码(查询列名),sql变化导致解析代码变化,系统不易维护,如果能将数据库记录封装成pojo对象解析比较方便。

?mybatis介绍:

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

    ? MyBatis是一个优秀的持久层ORM框架,它对jdbc的操作数据库的过程进行封装,使开发者只需要关注 SQL 本身,而不需要花费精力去处理例如注册驱动、创建connection、创建statement、手动设置参数、结果集检索等jdbc繁杂的过程代码。

    Mybatis通过xml或注解的方式将要执行的各种statement(statement、preparedStatemnt、CallableStatement)配置起来,并通过java对象和statement中的sql进行映射生成最终执行的sql语句,最后由mybatis框架执行sql并将结果映射成java对象并

  • 什么是框架

  • 框架(Framework)是一个框子:指其约束性。也是一个架子:指其支撑性;
  • 程序中的框架,特指为解决一个开放性问题而设计的具有一定约束性的支撑结构。在此结构上可以根据具体问题扩展、安插更多的组成部分,从而更迅速和方便地构建完整的解决问题的方案;
  • 程序中的框架其实是一系列jar包(一系列.class文件)的组合;
  • 框架是一个半成品,并没有解决具体的问题,但是有了框架之后,不需要从零起步,提高了开发效率;
  • 框架通常是为了解决某一个领域的问题而产生;
  • 适用于团队开发,统一规范,方便维护;

?什么叫数据库持久化

  1. 数据持久化就是将内存中的数据模型转换为存储模型,即把内存中的数据保存到数据库中;
  2. 常见的数据持久化分为磁盘持久化和数据库持久化;
  3. Java中最简单的就是使用原生的jdbc代码来完成数据库持久化,但是这种方式有很多问题;

?什么是ORM

ORM:对象关系映射(Object Relational Mapping,简称ORM):是一种为了解决面向对象与关系数据库存在的互不匹配的现象的技术;

ORM框架映射方式

ORM框架操作数据库关系方式有很多种,常用的有两种:

第一种:Sql操作方式(半映射或半自动):把SQL配置到配置文件中,通过不同SQL中完成对象实体和数据库关系相互转换的操作(Mybatis的实现方式)

第二种:完整映射:直接使用对象实体和数据库关系进行映射,不用写SQL(简单的操作),由框架自己生成(JPA、Hibenate实现方式)

ORM原理

  1. 以一定的映射方式,把实体模型和数据库关系进行映射;
  2. ORM框架启动时加载这些映射和数据库配置文件连接数据库;
  3. ORM通过对最原生jdbc的封装,并提供更加便利的操作API;
  4. Dao通过ORM提供的便捷API以对象的方式操作数据库关系;

常见的ORM持久化框架

  1. JPA:本身是一种ORM规范,不是ORM框架,由各大ORM框架提供实现;
  2. Hibernate(完整映射):目前流行的ORM框架,设计灵巧,性能一般(自己去控制性能,不是很好控制),文档丰富。Hibernate是一个完整的ORM框架,常规CRUD我们不需要写一句SQL;

MyBatis(半映射):本是apache的一个开源项目iBatis,提供的持久层框架包括SQL Maps(Mapper)和Dao,允许开发人员直接编写SQL,更加灵活

?

?

  Java知识库 最新文章
计算距离春节还有多长时间
系统开发系列 之WebService(spring框架+ma
springBoot+Cache(自定义有效时间配置)
SpringBoot整合mybatis实现增删改查、分页查
spring教程
SpringBoot+Vue实现美食交流网站的设计与实
虚拟机内存结构以及虚拟机中销毁和新建对象
SpringMVC---原理
小李同学: Java如何按多个字段分组
打印票据--java
上一篇文章      下一篇文章      查看所有文章
加:2021-07-15 16:02:30  更:2021-07-15 16:04:31 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年5日历 -2024/5/5 16:20:07-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码