• 自写ORM框架


    ORM框架

    ORM 对象关系映射,指的是对象和数据库之间的关系

    为什么做映射?可以避免重复编写sql语句

    ORM可以帮我们生成sql语句,执行,并获取结果,再转为对象

    object --> databases --> object

    手撸ORM框架

    之所以写,是为了更好的理解框架的实现原理

    我们自动生成那些sql语句

    能够做的事情

    创建表的语句

    增删改查

    什么时候要创建表

    一个项目对应 一个数据库

    一个类对应一个表

    一个对象对应一条记录

    一个属性对应一个字段

    我们要达到的目的:

    • 当在项目中创建一个类时就根据类型的信息自动生成表
      • 使用元类来控制类的创建过程
      • 通过init方法,获知类即将创建,生成一个建表语句
    create table user1(
    	id int primary key auto_increment,
    	name char(20),
    	pwd char(20),
    	vip tinyint default 0,
    	extra float,
    	utype tinyint default 0,
    	islock tinyint default 0
    	);
    
    • 当我们创建一个对象并保存时就根据对象的信息自动生成一条记录
      • 给对象增加存储方法
    • 当我们要修改某一个对象的属性时,自动生成修改的语句
      • 给对象提供一个更新方法
    • 当我们要删除的时候,自动生成删除的语句
      • 给对象提供一个删除方法
    • 当我没们需要获取某一类的数据时,自动生成查询语句,并将查询语句转为对象
      • 给类提供一个用于获取对象的方法

    datetime 和 timestamp的区别

    注意:

    • mysql中的各种约束,也可以在python中进行控制
    • 当外键关联的表数据量太大时,不建议关联外键,因为从表每次插入数据的时候都会查询一遍主表,会对性能带来影响
  • 相关阅读:
    第一篇阅读笔记
    课程信息管理系统
    HDU1124求n的阶乘后0的个数
    分解质因数算法
    牛客小白月赛23 B阶乘(质因数分解)
    JAVAWEB将图片铺满整个页面的方法
    Codeforces Global Round 7
    POJ--1703并查集(区分两个集合)
    POJ--1611经典并查集
    DFS,BFS回顾(各种题)(肺炎疫情中,祝平安)
  • 原文地址:https://www.cnblogs.com/lucky75/p/11227734.html
Copyright © 2020-2023  润新知