• ORM机制简介


    1、定义
    对象关系映射(英语:Object Relational Mapping,简称ORM),用于实现面向对象编程语言里不同类型系统的数据之间的转换.换句说,就是用面向对象的方式去操作数据库的创建表,增加、修改、删除、查询等操作

    2、演示:查看ORM生成的sql语句:
    A、使用QuerySet中的query属性
    B、配置日志系统,将sql显示到控制台


    def hello(request,a):
    print(request.get_full_path())
    user_list = User.objects.all()
    print(user_list.query)
    print(locals())
    return render_to_response('table.html',locals())


    输出内容:
    th_user`.`id`, `auth_user`.`password`, `auth_user`.`last_login`, `auth_user`.`is_superuser`, `auth_user`.`username`, `auth_user`.`first_name`, `auth_user`.`last_name`, `au
    th_user`.`email`, `auth_user`.`is_staff`, `auth_user`.`is_active`, `auth_user`.`date_joined` FROM `auth_user`
    {'a': '123', 'user_list': [<User: admin>], 'request': <WSGIRequest: GET '/hello/'>}
    [05/Dec/2017 20:35:07] "GET /hello/ HTTP/1.1" 200 1016


    C、使用一些开发工具,django_debug_toolbar

    3、ORM优缺点
    1、ORM使得我们通过数据库交互变的简单易行,并且完全不用考虑该死的SQL语句,快速开发,由此而来
    2、可以避免一些你搜程序猿写sql语句带来的性能和效率问题

    缺点:
    1、性能有所牺牲。不过现在的各种ORM框架都在尝试使用各种方法来减轻这个问题(LazyLoad,Cache),效果还是很显著的
    2、对于个别复杂查询,ORM仍然力不从心。为了 解决这个问题,ORM框架一般也提供了直接原生sql的方式

  • 相关阅读:
    Java基础——Java反射机制
    Java基础——Java常用类
    Java基础——多线程
    Java基础——IO流--转换流、标准输入输出流
    Java基础——IO流
    Java基础——枚举与注解
    Java基础——泛型
    codeforces B. Bear and Strings 解题报告
    codeforces A. Black-and-White Cube 解题报告
    codeforces B. Ping-Pong (Easy Version) 解题报告
  • 原文地址:https://www.cnblogs.com/kindnull/p/8379772.html
Copyright © 2020-2023  润新知