ORM
Posted wanglan
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了ORM相关的知识,希望对你有一定的参考价值。
概念
对象关系映射(Object Relational Mapping,简称ORM)模式是一种为了解决面向对象与关系数据库存在的互不匹配的现象的技术。简单的说,ORM是通过使用描述对象和数据库之间映射的元数据,将程序中的对象自动持久化到关系数据库中。ORM在业务逻辑层和数据库层之间充当了桥梁的作用
优势
ORM解决的主要问题是对象和关系的映射。它通常将一个类和一张表一一对应,类的每个实例对应表中的一条记录,类的每个属性对应表中的每个字段。 ORM提供了对数据库的映射,不用直接编写SQL代码,只需操作对象就能对数据库操作数据。让软件开发人员专注于业务逻辑的处理,提高了开发效率
劣势
ORM的缺点是会在一定程度上牺牲程序的执行效率。ORM的操作是有限的,也就是ORM定义好的操作是可以完成的,一些复杂的查询操作是完成不了。ORM用多了SQL语句就不会写了,关系数据库相关技能退化...
ORM与数据库的关系
Django 项目使用mysql数据库
1.在Django项目的settings.py文件中,修改数据库配置信息
DATABASES = { ‘default‘: { ‘ENGINE‘: ‘django.db.backends.mysql‘, #引擎 ‘NAME‘:‘orm‘, #数据库名字 ‘HOST‘:‘127.0.0.1‘, #IP ‘PORT‘:3306, #端口 ‘USER‘:‘root‘, #用户名 ‘PASSWORD‘:‘123‘, #密码 } }
在与Django项目同名的目录下的__init__.py文件中写如下代码,告诉Django使用pymysql模块连接MySQL数据库:
import pymysql pymysql.install_as_MySQLdb()
在models.py中创建一个类,相当于创建了一张表
from django.db import models # Create your models here. class User(models.Model): #User:表明 必须继承models.Model username = models.CharField(max_length=20) # CharField :定义可变字符串 max_length:定义长度 password = models.CharField(max_length=20) def __str__(self): return self.username
让后执行下面两句命令
D:djangologserver>python manage.py makemigrations #保存models.py的变更记录
D:djangologserver>python manage.py migrate #把变更记录同步到数据库中
以上是关于ORM的主要内容,如果未能解决你的问题,请参考以下文章