【什么是ORM】

ORM 全称是(Object Relational Mapping)表示对象关系映射; 通俗理解可以理解为编程语言的虚拟数据库;

【理解ORM】

用户地址信息数据库表与对象的映射

【ORM的重要特性】

1.面向对象的编程思想,方便扩充

2. 少写(几乎不写)sql,提升开发效率

3.支持多种类型的数据库(常用的mysql,pg,oracle等等),方便切换

4.ORM技术已经相当成熟,能解决绝大部分问题

【ORM模型框架的选择】

【SQLAlchemy ORM模型】

众所周知,ORM框架模型可选择的有很多,那么我们这边选择了SQLAlchemy 模型框架

pip install SQLAlchemy 安装sql alchemy; 也可以指定版本号pip install SQLAlchemy ==1.4.17

import sqlalcherm; sqlalchemy.__version__; 验证是否安装成功及版本号;

【SQL Alchemy的使用】

一.开始连接数据库
二.声明ORM模型基类
三.实现ORM模型类
四.同步数据库表

开始连接数据库

  • 延迟连接(Lazy Connecting)——只有在真正操作数据库的时候,才会连接数据库
  • 连接代码示例
from sqlalchemy import  create_enginecreate_engine("mysql://root:@127.0.0.1:3306/school?charset=utf8,echo=True,future=True")

话不多说,见下方代码

from urllib.parse import quote_plus如果密码里有特殊字符时,这边需要导入一个类来处理password_formatted= quote.plus("mima%&&&mima")把处理后的密码粘贴到上方的sqlalchemy配置中,即可

然后还需要设立1个属性

from sqlalchemy import Column, Integer, String, DateTimeclass Student(Base):    """学生信息表"""    __tablename__ = 'student'    id = Column(Integer, name='id', primary_key=True)    stu_no = Column(Integer, nullable=False, comment='学号')    stu_name = Column(String(16), nullable=False, comment='姓名')    created_at = Column(DateTime)

2 创建表,删除表

from  orm_connect_example import Base ,engine# 创建表Base.metadata.create_all(engine)#删除表Base.metadata.drop_all(engine)

【代码示例】

from sqlalchemy import create_enginefrom sqlalchemy.orm import declarative_basefrom sqlalchemy import Column, Integer, String, DateTime# 第一步,准备连接engine = create_engine('mysql://root:@10.72.100.1:8081/test_database_1?charset=utf8',echo=True)# 第二步,声明ORM模型的基类Base = declarative_base()# 第三步,实现ORM模型类class Student(Base):    """学生信息表"""    __tablename__ = 'student'    id = Column(Integer, name='id', primary_key=True)    stu_no = Column(Integer, nullable=False, comment='学号')    stu_name = Column(String(16), nullable=False, comment='姓名')    created_at = Column(DateTime)#第四步 同步数据库表def create_table()    """同步数据库表"""    # 新建表    Base.metadata.create_all(bind=engine)    # 删除表    Base.metadata.drop_all(bind=engine)

更多相关文章

  1. Android核心分析(21)----Android应用框架之AndroidApplication
  2. 细数Android(安卓)Studio中使用junit4测试框架中的坑
  3. Android开发——Android搜索框架(二)
  4. Android热更新框架Tinker无法更新?
  5. Android(安卓)N 指纹框架
  6. [置顶] android orm映射框架(类似hibernate)基本使用
  7. Android横向智能刷新框架-SmartRefreshHorizontal+ScrollView 实
  8. Android(安卓)AppWidget系统框架
  9. Android(安卓)Camera框架分析

随机推荐

  1. Android编译错误:You have tried to chang
  2. android 开发中中,经常用到的代码
  3. Android AndBox 安安卜1.3发布
  4. Android的安全性和权限(Security and Perm
  5. android 获取Gps信息的程序源码
  6. Android 使用 TableLayout 布局拉伸宽度
  7. Apple 再挑起戰火,控告 Samsung 15款 Andr
  8. Android撸一个转盘抽奖
  9. android 中隐藏EditText的下划线方法
  10. android:configChanges属性