上一篇我们学习了GreenDAO的CRUD基本操作,可以说是非常的方便的,而且GreenDAO的效率和性能远远高于其它两款流行的ORM框架,下面是我从官网找的一副它们三个ORM框架之间的性能测试的直观图: 那么这篇我们就从源码的角度来学习GreenDAO更深层次的工作原理. GreenDAO的工作原理图解: 从上篇我们知道,如果Android项目中要使用GreenDAO框架,需要先创建一个Java项目用于生成实体类和DAO类,然后在Android项目中使用这些类,在此过程中分别需要对Androi…
利用GreenDAO可以非常方便的建立多张表之间的关联 一对一关联 通常我们在操作数据库的时候,我们往往不是单独的对一张表进行操作,而是对这张表的操作会联动的影响另外一张表或者多张表,比如:现在有两张表,一张是用户User表(有name.age.sex三个字段),一张是头像Picture表(有pictureId.pictureName.width.height四个字段).假如用户表和头像表是一对一关系,一个用户只有一个头像,一个头像只能有一个用户,所以要建立这两张表之间的联系,这两张表肯定是需要…
https://blog.csdn.net/u010687392/article/details/48496299 利用GreenDAO可以非常方便的建立多张表之间的关联 一对一关联 通常我们在操作数据库的时候,我们往往不是单独的对一张表进行操作,而是对这张表的操作会联动的影响另外一张表或者多张表,比如:现在有两张表,一张是用户User表(有name.age.sex三个字段),一张是头像Picture表(有pictureId.pictureName.width.height四个字段).假如用户表…
CRUD 增加: dao.insert(Student entity);//添加一个 dao.insertInTx(Student... entity);//批量添加 删除: dao.deleteByKey(Long key);//根据主键删除 dao.deleteByKeyInTx(Long... keys);//批量删除 dao.delete(Student entity);//根据实体删除 dao.deleteInTx(Student... entities);//批量删除 dao.del…
在使用GreenDAO定义实体的属性时候,通常来说定义的实体属性名就是对应的表的字段名.实体中属性的类型(如Long.String等)就是表的字段名类型,但是我们难免会有不一样的需求,比如实体中我定义了一个Color类型的属性或者其它自定义类型的属性,而表的字段类型只有一些原始类型肯定是没有这些类型的,所以这时候该怎么办呢? 不用急,GreenDAO给我们提供了一个强大的工具,就是属性转换器:PropertyConverter.这是一个接口,我们使用它可以让实体的属性类型不再局限于原始类型, 可…
ORM (object relation mapping) 就是将对象数据转换为sql语句并执行 对象关系映射框架 orm 需要做的事情 1 生成创建表的语句 2 插入数据的语句 3 删除数据的语句 4 修改数据的语句 5 查询数据的语句 orm 对象关系映射 对象映射到数据库 把对象操作 生成对应的sql语句 1 创建表的语句:应该在创建类的时候生成创建表的语句 C增 :当应用程序创建了一条新的数据(对象)需要保存到数据库时插入语句 R查询:应用程序中需要获取某一类型的数据时 U更新:应用程序…
Django---静态文件配置,post提交表单的csrf问题(日后细说),创建app子项目和分析其目录,ORM对象关系映射简介,Django操作orm(重点) 一丶Django的静态文件配置 #web服务器映射静态资源文件. static静态资源的别名 STATIC_URL = '/static/' # 别名 # 配置静态资源文件路径. STATICFILES_DIRS 名字不能错 STATICFILES_DIRS = [ # 拼接路径 os.path.join(BASE_DIR, 'stat…
ORM的全称是Object Relational Mapping,即对象关系映射.它的实质就是将关系数据(库)中的业务数据用对象的形式表示出来,并通过面向对象(Object-Oriented)的方式将这些对象组织起来,实现系统业务逻辑的过程.在ORM过程中最重要的概念是映射(Mapping),通过这种映射可以使业务对象与数据库分离.从面向对象来说,数据库不应该和业务逻辑绑定到一起,ORM则起到这样的分离作用,使数据库层透明,开发人员真正的面向对象.图 1简单说明了ORM在多层系统架构中的这个作用…
1 django中app的概念: 大学:----------------- 项目  信息学院 ----------app01  物理学院-----------app02 ****强调***:创建的每一个app,都要在配置文件中注册  cmd创建的app要在setting.py中配置 INSTALLED_APPS = [ 'django.contrib.admin', 'django.contrib.auth', 'django.contrib.contenttypes', 'django.con…
ORM 总结: ORM:对象关系映射 作用: 1.将定义数据库模型类--> 数据库表 2.将定义数据库模型类中的属性--->数据库表字段 3.将模型对象的操作(add,delete,commit) ---> 对应sql语句,并将执行结果提交到数据库 优点: 只需要面向对象编程, 不需要面向数据库编写代码. 实现了防注入功能,安全性提高 实现了数据模型与数据库的解耦, 屏蔽了不同数据库操作上的差异. 缺点: 相比较直接使用SQL语句操作数据库,有性能损失. 根据对象的操作转换成SQL语句,…