ORM模型介绍:

  随着项目越来越大,采用写原生SQL的方式在代码中会出现大量的SQL语句,那么问题就出现了:

1、SQL语句重复利用率不高,越复杂的SQL语句条件越多,代码越长。会出现很多相近的SQL语句;
2、很多SQL语句是在业务逻辑中拼出来的,如果有数据库需要更改,就要去修改这些逻辑,这会很容易漏掉对某些SQL语句的修改;
3、写SQL时容易忽略web安全问题,给给未来造成隐患。SQL注入;

如何解决上面的问题:

  ORM ,全称 Object Relational Mapping ,中文叫做对象关系映射,通过 ORM 我们可以通过类的方式去操作数据库,而不用再写原生的SQL语句。通过把表映射成类,把行作实例,把字段作为属性, ORM 在执行对象操作的时候最终还是会把对应的操作转换为数据库原生语句。使用 ORM 有许多优点:
1、易用性:使用 ORM 做数据库的开发可以有效的减少重复SQL语句的概率,写出来的模型也更加直观、清晰;
2、性能损耗小: ORM 转换成底层数据库操作指令确实会有一些开销。但从实际的情况来看,这种性能损耗很少(不足5%),只要不是对性能有严苛的要求,综合考虑开发效率、代码的阅读性,带来的好处要远远大于性能损耗,而且项目越大作用越明显;
3、设计灵活:可以轻松的写出复杂的查询;
4、可移植性: Django 封装了底层的数据库实现,支持多个关系数据库引擎,包括流行的 MySQL 、 PostgreSQL 和 SQLite 。可以非常轻松的切换数据库;

最新文章

  1. Java基础-一个java文件多个类的问题
  2. HDU 5053 the Sum of Cube(简单数论)
  3. python图形界面(GUI)设计
  4. http请求的referer属性
  5. 分享:带波形的语音播放工具(wavesurfer-js)
  6. LINQpad 用法汇总
  7. oc拨打电话
  8. Nginx实用教程(一):启动、停止、重载配置
  9. Windows7下chm文件打不开
  10. docker 安装入门
  11. 解决React Native:Error: Cannot find module 'asap/raw'
  12. hdu5000 Clone dp+大数
  13. 【慕课网实战】Spark Streaming实时流处理项目实战笔记十九之铭文升级版
  14. #个人博客作业Week1——浏览教材后提出的六个问题及软件与软件工程的提出。
  15. Django的AbstractUser的几大步骤
  16. volatile内存语义
  17. 修改easydialog标题
  18. 使用JdbcTemplate操作数据库(二十九)
  19. 前端通信:ajax设计方案(七)--- 增加请求错误监控、前端负载均衡以、请求宕机切换以及迭代问题修复
  20. cojs 强连通图计数1-2 题解报告

热门文章

  1. datalist的模板里的label要绑定一个函数
  2. Spring 之 IOC ,DI 理论
  3. lambda表达式使用解析
  4. web端测试的测试点和注意事项
  5. 【MM系列】SAP MM模块-BAPI:BAPI_GOODSMVT_CREATE的CODE分析
  6. JPA-style positional param was not an integral ordinal 异常
  7. 选择排序--python
  8. urllib基本库的使用
  9. ubuntu 新建root用户
  10. [BZOJ 3123] [SDOI 2013]森林(可持久化线段树+并查集+启发式合并)