美文网首页
ORM 简介

ORM 简介

作者: IT的咸鱼 | 来源:发表于2018-08-07 19:34 被阅读0次

ORM简介 

MVC框架中包括一个重要的部分,就是ORM,它实现了数据模型与数据库的解耦,即数据模型的设计不需要依赖于特定的数据库,通过简单的配置就可以轻松更换数据库

Object-Relational-Mapping是“对象-关系-映射”的简称,主要任务是:

       (1)    根据对象的类型生成表结构

       (2)    将对象、列表的操作,转换为sql语句

       (3)    将sql查询到的结果转换为对象、列表

这极大的减轻了开发人员的工作量,不需要面对因数据库变更而导致的无效劳动

Django中的模型包含存储数据的字段和约束,对应着数据库中唯一的表

简单的说,ORM是通过使用描述对象和数据库之间映射的元数据,将程序中的对象自动持久化到关系数据库中。

ORM在业务逻辑层和数据库层之间充当了桥梁的作用。

ORM的优势

ORM解决的主要问题是对象和关系的映射。

              它通常把一个类和一个表一一对应

              类的每个实例对应表中的一条记录

              类的每个属性对应表中的每个字段

ORM提供了对数据库的映射,不用直接编写SQL代码,只需像操作对象一样从数据库操作数据。

让软件开发人员专注于业务逻辑的处理,提高了开发效率。

ORM的劣势

ORM的缺点是会在一定程度上牺牲程序的执行效率。

ORM用多了SQL语句就不会写了,关系数据库相关技能退化...

ORM总结

ORM只是一种工具,工具确实能解决一些重复,简单的劳动。这是不可否认的。

但我们不能指望某个工具能一劳永逸地解决所有问题,一些特殊问题还是需要特殊处理的。

但是在整个软件开发过程中需要特殊处理的情况应该都是很少的,否则所谓的工具也就失去了它存在的意义。

Django框架中ORM示意图

使用MySql数据库

在虚拟环境中安装mysql包

               pip3 install pymysql

在mysql中创建数据库

               create databases test2 charset=utf8

打开settings.py文件,修改DATABASES项

DATABASES = {

          'default': {

                    'ENGINE':'django.db.backends.mysql',

                    'NAME':'test2',#数据库名字,

                    'USER':'root',#数据库登录用户名'

                     PASSWORD':'mysql',#数据库登录密码'

                     HOST':'localhost',#数据库所在主机'

                     PORT':'3306',#数据库端口

}

}

需要在我们项目的init文件 

       import pymysql

       pymysql.install_as_MySQLdb()

开发流程       

(1)    在models.py中定义模型类,要求继承自models.Model

(2)    把应用加入settings.py文件的installed_app项

(3)    生成迁移文件       (python  manage.py  makemigrations)

(4)    执行迁移生成表   (python manage.py  migrate)

(5)    使用模型类进行  crud(增、删、改、查)  操作

使用数据库生成模型类(了解即可)

python manage.py inspectdb > booktest/models.py

相关文章

  • ORM简介

    Object/Relational Mapping:对象-关系映射。实现对象和关系型数据的映射。对象和关系型数据是...

  • ORM 简介

    ORM简介 MVC框架中包括一个重要的部分,就是ORM,它实现了数据模型与数据库的解耦,即数据模型的设计不需要依赖...

  • SQLAlchemy

    ORM与SQLAlchemy简介 ORM 全称 Object Relational Mapping, 翻译过来叫对...

  • Java ORM框架简介 JDBC-JPA-Hibernate_

    Java ORM框架简介 一、JDBC & ORM(Object Relational Mapping)框架 所有...

  • Django - ORM使用记录(一)

    ORM简介 ORM概念对象关系映射(Object Relational Mapping,简称ORM)模式是一种为了...

  • web应用框架——Django详解模型类

    一.ORM 1.ORM简介: ORM,全拼Object- Relation Mapping,幅意为对象关系映射,是...

  • MyBatis入门学习总结

    ORM模型简介 ORM:对象关系映射(ObjectRelationMapping) Object对象指的是Jav...

  • Spring Boot简明教程--Spring Data Jpa

    主流ORM框架简介 目前ORM框架非常多,目前流行的ORM框架有: JPA(Java Persistence AP...

  • Hibernate入门1-基本用法

    Hibernate 快速入门1 - 基本用法 Hibernate简介 ORM:对象关系映射(ORM, Object...

  • Eloquent ORM简介

    Laravel所自带的Eloquent ORM是一个优美、简洁的ActiveRecord类,用来实现数据库操作 每...

网友评论

      本文标题:ORM 简介

      本文链接:https://www.haomeiwen.com/subject/kxravftx.html