对MyBatis的浅入了解

MyBatis框架是基于ORM(Object Relational Mapping,对象/关系映射)的优秀的持久化框架,它支持自定义 SQL、存储过程以及高级映射。MyBatis 免除了几乎所有的 JDBC 代码以及设置参数和获取结果集的工作。MyBatis 可以通过简单的 XML 或注解来配置和映射原始类型、接口和 Java POJO(Plain Old Java Objects,普通老式 Java 对象)为数据库中的记录。

持久化简介

持久化就是将内存中有用的数据以某种技术保存起来并可以取出来再应用。也就是说,可以将内存中的数据类型转换为存储模型,以及存储型转换,以及存储模型转换为内存中的数据类型。内存中的数据模型可以是任意数据结构或对象模型,存储数据的模型可以是XML、二进制流、关系模型等。数据库技术及将数据以文件形式保存在永久介质(磁盘等)中的序列化技术等,都是对数据进行持久化的例子。

ORM简介

ORM是一种在关系型数据库和面向对象编程语言之间进行数据转换的编程技术。他试图通过在对象模型和数据库关系模型之间建立起对应关系,从而达到通过JavaBean对象操作数据库表中数据的目的。

ORM是Object Relation Mapping的首字母缩写。Object指的是面向对象编程的对象或者一个类,Relation指的是关系型数据库里面的关系,Mapping指的是映射,连在一起的意思就是将关系型数据库跟代码里面的类做映射,好像还是没有说的很明白,举个例子,比如我们有张数据表,如下所示

这张表其实就代表了一个类,如下Java代码所示

public class Student{
    public String name;
    public int age;
    public int grade;
}

数据库里面的每一行其实就代表了类的一个实例,如下关系所示

对应的实例如下

Student studentA = new Student();
studentA.name = "Lily";
studentA.age = 10;
studentA.grade = 3;
Student studentB = new Student();
studentB.name = "Jame";
studentB.age = 11;
studentB.grade = 4;

通过上面的对应关系,如果有一种技术能够像操作对象一样操作数据库,例如对每个实例的增删改就直接对应到数据库里面的增删改,那么我们的代码就会摆脱大量的try-catch语句,以及一系列的数据连接-关闭等复杂而冗余的操作,ORM正是为了解决这个问题而提出来的。

例如之前文章手把手教你使用Mybatis连接数据库里面所写的,当我们要操作数据的时候通过ORM技术暴露出来的API我们能够很简便的进行数据的插入操作,而完全不需要感知数据库的存在。

ORM是Object Relation Mapping的首字母缩写。Object指的是面向对象编程的对象或者一个类,Relation指的是关系型数据库里面的关系,Mapping指的是映射,连在一起的意思就是将关系型数据库跟代码里面的类做映射,好像还是没有说的很明白,举个例子,比如我们有张数据表,如下所示

这张表其实就代表了一个类,如下Java代码所示

public class Student{
    public String name;
    public int age;
    public int grade;
}

数据库里面的每一行其实就代表了类的一个实例,如下关系所示

对应的实例如下

Student studentA = new Student();
studentA.name = "Lily";
studentA.age = 10;
studentA.grade = 3;
Student studentB = new Student();
studentB.name = "Jame";
studentB.age = 11;
studentB.grade = 4;

通过上面的对应关系,如果有一种技术能够像操作对象一样操作数据库,例如对每个实例的增删改就直接对应到数据库里面的增删改,那么我们的代码就会摆脱大量的try-catch语句,以及一系列的数据连接-关闭等复杂而冗余的操作,ORM正是为了解决这个问题而提出来的。

在实际·开发中,应用程序使用对象模型封装、传递和使用数据,而存储数据用的是关系型数据库,这就需要大量繁复的代码以便将数据在这两种模型之间进行转换,且数据库移植性差,而ORM在对象模型和数据库关系模式之间建立了一座桥梁。NyBatis框架通过XML或注解,将特定的SQL语句和Java实体关联起来,即可通过MyBatis框架提供的API执行SQL语句并完成数据在两种模型之间的转换,是一种半自动化的ORM实现。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
MyBatis接入Druid是指在使用MyBatis框架时,使用Druid作为连接池来连接数据库。Druid是一个开源的Java数据库连接池,具有监控、防御SQL注入等功能。在MyBatis中接入Druid可以提供更好的数据库连接管理和性能监控。 在引用\[1\]中提到了一个简单的Demo演示使用MyBatis+Druid来连接数据库。这个Demo展示了使用MyBatis配置文件和Druid数据源配置文件,以及如何在代码中使用MyBatis的API来进行数据库操作。通过这个Demo,可以了解MyBatis和Druid的基本使用方法和配置。 需要注意的是,MyBatis和Druid是两个独立的框架,可以分别学习和使用。MyBatis是一个持久层框架,用于数据库操作,而Druid是一个数据库连接池,用于管理数据库连接。在使用MyBatis时,可以选择是否使用Druid作为连接池,以提高数据库连接的性能和管理。 总结起来,MyBatis接入Druid是指在使用MyBatis框架时,使用Druid作为连接池来连接数据库,以提供更好的数据库连接管理和性能监控。 #### 引用[.reference_title] - *1* *2* *3* [MyBatis技术原理浅析:使用MyBatis+Druid连接MySQL数据库](https://blog.csdn.net/qq_25827845/article/details/95763605)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值