ORM com AIR e SQLite<br />+<br />
Sobremim<br />Sobre mim<br />Web Developer Freelancer<br />Comunidade portuguesa de PHP<br />Blog: blog.lookatitude.comtwi...
AIR e SQLite<br />Criar uma ligação á base de dados<br /> sqlConnection = new SQLConnection();<br /> <br /> var dbFile:Fil...
SQL “statements”<br />SQL Language<br />Exemplo, receber todos os dados da tabela contactos:SELECT * FROM contactos;<br />
Executar o SQL <br />Executar o SQL e receber os dados no AIRsqlStatement.sqlConnection = sqlCon;sqlStatement.text = “SELE...
O código<br />sqlConnection = new SQLConnection();<br />var dbFile:File = File.applicationStorageDirectory.resolvePath(“co...
Desvantagens<br />Ter de aprender mais uma linguagem<br />Repetição<br />Difícil manutenção<br />
Design patterns<br />tableGateway<br />Active Record<br />DAO (Data Access Object)<br />Data Mapper<br />ORM<br />
ORM<br />ORM (Objectrelational mapping)<br />Mapear tabelas em objectos<br />Mapear relações entre tabelas<br />Reflectir ...
FlexORM, o que faz?<br />Operaçõescomo: Salvar, Actualizar, Apagar, load, e FindAll<br />Cria e actualiza o esquema da bas...
Implementations<br />Hibernate (JAVA)<br />NHibernate (.NET)<br />Doctrine (PHP)<br />Django (Python)<br />FlexORM (Flex)<...
Como funciona?<br />Download:http://flexorm.riaforge.org/<br />Adicionamos ao compilador as directivas:-keep-as3-metadata+...
Criar um Projecto<br />AGENDA DE CONTACTOS<br />Uma base de dados<br />Uma tabelaDados:Nome      Email      Morada<br />
Agenda de Contactos<br />Demo<br />
Q&A<br />
Próximos SlideShares
Carregando em…5
×

Orm com air e sql lite

2.740 visualizações

Publicada em

Slides Adobe @ the museum

Publicada em: Tecnologia
  • Seja o primeiro a comentar

  • Seja a primeira pessoa a gostar disto

Orm com air e sql lite

  1. 1. ORM com AIR e SQLite<br />+<br />
  2. 2. Sobremim<br />Sobre mim<br />Web Developer Freelancer<br />Comunidade portuguesa de PHP<br />Blog: blog.lookatitude.comtwitter: @miguelpemail: pinto.miguel@lookatitude.com<br />
  3. 3. AIR e SQLite<br />Criar uma ligação á base de dados<br /> sqlConnection = new SQLConnection();<br /> <br /> var dbFile:File = File.applicationStorageDirectory.resolvePath(“contactos.db");<br /> <br /> sqlConnection.open(dbFile);<br />
  4. 4. SQL “statements”<br />SQL Language<br />Exemplo, receber todos os dados da tabela contactos:SELECT * FROM contactos;<br />
  5. 5. Executar o SQL <br />Executar o SQL e receber os dados no AIRsqlStatement.sqlConnection = sqlCon;sqlStatement.text = “SELECT * FROM contactos”;sqlStatement.execute();<br />Receber os resultadosvarresult:Array = sqlStatement.getResults().data;<br />
  6. 6. O código<br />sqlConnection = new SQLConnection();<br />var dbFile:File = File.applicationStorageDirectory.resolvePath(“contactos.db");<br />sqlConnection.open(dbFile);<br />sqlStatement.sqlConnection = sqlCon;sqlStatement.text = “SELECT * FROM contactos”;sqlStatement.execute();<br />varresult:Array = sqlStatement.getResults().data;<br />
  7. 7. Desvantagens<br />Ter de aprender mais uma linguagem<br />Repetição<br />Difícil manutenção<br />
  8. 8. Design patterns<br />tableGateway<br />Active Record<br />DAO (Data Access Object)<br />Data Mapper<br />ORM<br />
  9. 9. ORM<br />ORM (Objectrelational mapping)<br />Mapear tabelas em objectos<br />Mapear relações entre tabelas<br />Reflectir as alterações dos objectos na base de dados<br />
  10. 10. FlexORM, o que faz?<br />Operaçõescomo: Salvar, Actualizar, Apagar, load, e FindAll<br />Cria e actualiza o esquema da base de dados automaticamente<br />Associações n:1, 1:n e 1:1, e criaautomáticamente a tabela de associação<br />Cascade guardar/actualizar/apagar<br />Mapeamento de heranças<br />FK constraints (using triggers in SQLite)<br />Criaautomaticamenteosindecesna base de dados<br />Transacções<br />Lazy loading das associações<br />Asynchronous API<br />E mais… muito mais.<br />
  11. 11. Implementations<br />Hibernate (JAVA)<br />NHibernate (.NET)<br />Doctrine (PHP)<br />Django (Python)<br />FlexORM (Flex)<br />
  12. 12. Como funciona?<br />Download:http://flexorm.riaforge.org/<br />Adicionamos ao compilador as directivas:-keep-as3-metadata+=Table,Id,Column,ManyToOne,OnetoMany,ManyToMany, Transient<br />
  13. 13. Criar um Projecto<br />AGENDA DE CONTACTOS<br />Uma base de dados<br />Uma tabelaDados:Nome Email Morada<br />
  14. 14. Agenda de Contactos<br />Demo<br />
  15. 15. Q&A<br />

×