orm com air e sql lite

15
ORM com AIR e SQLite +

Upload: miguel-pinto

Post on 21-May-2015

2.435 views

Category:

Technology


4 download

DESCRIPTION

Slides Adobe @ the museum

TRANSCRIPT

Page 1: Orm com air e sql lite

ORM com AIR e SQLite

+

Page 2: Orm com air e sql lite

Sobre mim• Sobre mim• Web Developer Freelancer• Comunidade portuguesa de PHP

Blog: blog.lookatitude.comtwitter: @miguelpemail: [email protected]

Page 3: Orm com air e sql lite

AIR e SQLite• Criar uma ligação á base de dados

 sqlConnection = new SQLConnection();  var dbFile:File = File.applicationStorageDirectory.resolvePath(“contactos.db");  sqlConnection.open(dbFile);

Page 4: Orm com air e sql lite

SQL “statements”• SQL Language

• Exemplo, receber todos os dados da tabela

contactos:

SELECT * FROM contactos;

Page 5: Orm com air e sql lite

Executar o SQL • Executar o SQL e receber os dados no AIR

sqlStatement.sqlConnection = sqlCon;sqlStatement.text = “SELECT * FROM contactos”;sqlStatement.execute();

• Receber os resultadosvar result:Array = sqlStatement.getResults().data;

Page 6: Orm com air e sql lite

O códigosqlConnection = new SQLConnection();var dbFile:File = File.applicationStorageDirectory.resolvePath(“contactos.db");sqlConnection.open(dbFile);

sqlStatement.sqlConnection = sqlCon;sqlStatement.text = “SELECT * FROM contactos”;sqlStatement.execute();var result:Array = sqlStatement.getResults().data;

Page 7: Orm com air e sql lite

Desvantagens• Ter de aprender mais uma linguagem

• Repetição

• Difícil manutenção

Page 8: Orm com air e sql lite

Design patterns• tableGateway• Active Record• DAO (Data Access Object)• Data Mapper• ORM

Page 9: Orm com air e sql lite

ORM• ORM (Object relational mapping)• Mapear tabelas em objectos• Mapear relações entre tabelas• Reflectir as alterações dos objectos na base de

dados

Page 10: Orm com air e sql lite

FlexORM, o que faz?• Operações como: Salvar, Actualizar, Apagar, load, e FindAll• Cria e actualiza o esquema da base de dados automaticamente• Associações n:1, 1:n e 1:1, e cria automáticamente a tabela de

associação• Cascade guardar/actualizar/apagar• Mapeamento de heranças• FK constraints (using triggers in SQLite)• Cria automaticamente os indeces na base de dados• Transacções• Lazy loading das associações• Asynchronous API• E mais… muito mais.

Page 11: Orm com air e sql lite

Implementations• Hibernate (JAVA)• NHibernate (.NET)• Doctrine (PHP)• Django (Python)• FlexORM (Flex)

Page 12: Orm com air e sql lite

Como funciona?• Download:

http://flexorm.riaforge.org/

• Adicionamos ao compilador as directivas:-keep-as3-metadata+=Table,Id,Column,ManyToOne,OnetoMany,ManyToMany, Transient

Page 13: Orm com air e sql lite

Criar um ProjectoAGENDA DE CONTACTOS

• Uma base de dados• Uma tabela

Dados: Nome Email Morada

Page 14: Orm com air e sql lite

Agenda de Contactos

Demo

Page 15: Orm com air e sql lite

Q&A