💎一站式轻松地调用各大LLM模型接口,支持GPT4、智谱、星火、月之暗面及文生图 广告
# 49 定义ORM模型并将其映射到数据库中 ## ORM介绍 1. ORM Object Relationship Mapping 2. 模型与表之间的映射 ## SQLAlchemy 采用写原生sql的方式在代码中会出现大量的sql语句,会出现一些问题: 1. sql语句重复利用率不高,越复杂的sql语句条件越多,代码越长。会出现很多相近的sql语句 2. 很多sql语句是在业务逻辑中拼出来的,如果有数据库需要更改,就要去修改这些逻辑,这会很容易漏掉对某些sql语句的修改。 3. 写sql时容易忽略web安全问题,给未来造成隐患 ORM,全称Object Relational Mapping,中文叫做对象关系映射,通过ORM可以通过类的方式去操作数据库,而不用再写原生的sql语句。通过把表映射成类,把行作实例,把字段作为属性,ORM在执行对象操作的时候最终还是会把对象的操作转换为数据库原生语句。使用ORM有许多有点: 1. 易用性:使用ORM做数据库的开发可以有效的减少重复sql语句的概率,写出来的模型也更加直观清晰。 2. 性能损耗小:ORM转换成底层数据库操作指令确实会有一些开销。但从实际的情况来看,这种性能损耗很少,只要不是对性能有严格的要求,综合考虑开发效率,代码的阅读性,带来的好处要远大于性能损耗,而且项目越大作用越明显。 3. 设计灵活:可以轻松的写出复杂的查询 4. 可移植性:SQLAlchemy封装了底层的数据库实现,支持多个关系数据库引擎,包括流行的MySQL、PostgreSQL和SQLite。可以非常轻松的切换数据库