有什么岁月静好,不过是有人替你负重前行!哪

手撸ORM

本文目录


ORM简介

ORM即Object Relational Mapping,全称对象关系映射
当我们需要对数据库进行操作时,势必需要通过连接数据、调用sql语句、执行sql语句等操作,ORM将数据库中的表,字段,行与我们面向对象编程的类及其方法,属性等一一对应,即将该部分操作封装起来,程序猿不需懂得sql语句即可完成对数据库的操作。


Python中常用ORM框架

Django's ORM 

优点:

  1. 易用,学习曲线短 

  2. 和Django紧密集合,用Django时使用约定俗成的方法去操作数据库 

缺点:

  1. 不好处理复杂的查询,强制开发者回到原生SQL 

  2. 紧密和Django集成,使得在Django环境外很难使用 

peewee 

优点:

  1. Django式的API,使其易用 

  2. 轻量实现,很容易和任意web框架集成 

缺点:

  1. 多对多查询写起来不直观 

SQLAlchemy 

优点:

  1. 企业级 API,使得代码有健壮性和适应性 

  2. 灵活的设计,使得能轻松写复杂查询 

缺点:

  1. 重量级 API,导致长学习曲线 

其它:SQLObject 、Storm 、、、、


 原生操作数据库模块 pymysql

 


ORM框架之SQLAlchemy

 


手把手带你写一个自己的ORM框架

 

 

 

 

 

 

 

 

posted @   迎风而来  阅读(428)  评论(1编辑  收藏  举报
编辑推荐:
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
阅读排行:
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· 分享 3 个 .NET 开源的文件压缩处理库,助力快速实现文件压缩解压功能!
· Ollama——大语言模型本地部署的极速利器
· DeepSeek如何颠覆传统软件测试?测试工程师会被淘汰吗?
/*吸附球*/
点击右上角即可分享
微信分享提示

喜欢请打赏

扫描二维码打赏

了解更多