Desenvolvimento em .Net




       nHibernate
Objectivos
●   identificar caracteristicas da framework
    nHibernate
●   perceber como funciona a framework
    nHiberna...
O que é
●   porting de framework Hibernate para Java
    –   ambas são Open-Source + (L)GPL
    –   nHibernate 1.0 compará...
Para que serve
●   Mapear Dados / Objectos
●   Fornecer serviços que:
    –   permitam carregar os objectos
    –   permit...
Como funciona
●   Reflection
    –   a partir de uma definição inicial
    –   inspecciona os nossos objectos
    –   cria...
Porque queremos uma framework
                destas
●   tipicamente para cada objecto necessitamos
    de:
    –   defini...
Porque queremos uma framework
             destas (cont.)
●   tipicamente para cada objecto necessitamos
    de:
    –   c...
Porque queremos uma framework
             destas (cont.)
●   é um trabalho repetitivo
●   é um trabalho moroso
●   sujeit...
nHibernate
●   Objecto.Save
    –   grava dados de um objecto numa tabela
●   Object.Load
    –   carrega dados de uma tab...
Produtividade?
●   opção tradicional
    –   +/- 50 linhas de código para operações CRUD
    –   +/- 5 linhas de código pa...
Por onde começar
●   www.nhibernate.org
●   instalar
    –   vitorsilvadownloadslibsnhibernate-1.0.0.0
         ●   copiar...
1º Exemplo
●   criar uma base de dados access
●   nessa base de dados criar uma tabela
    chamada utilizadores
1º Exemplo
●   Criar uma nova solução com um
    projecto do tipo windows
    application
●   Alterar Assembly Name e Root...
1º Exemplo
●   Configurações nHibernate
    –   adicionar referencia ao assembly Nhibernate.dll
    –   adicionar referenc...
1º Exemplo
●   Configurações nHibernate
    –   definição da fonte de dados e mecanismo de log
         ●   adicionar um f...
1º Exemplo
●   analisar código
1º Exemplo
●   Configurações nHibernate
    –   configuração mecanismo de log
         ●   acrescentar referencia a fichei...
1º Exemplo
●   analisar código
1º Exemplo
●   Configurações nHibernate
    –   mapeamento tabela entidades / objecto Entidade
         ●   acrescentar fi...
1º Exemplo
●   analisar código
1º Exemplo
●   no formulario incluir um botão
●   incluir no formulário o código do ficheiro
    codigo0403_03.txt
1º Exemplo
●   analisar código
1º Exemplo
●   Testar
2º Exemplo
●   Herança
    –   Estratégia 1ª classe => 1ª Tabela
    –   Criar uma classe chamada Fornecedor que herda
   ...
2º Exemplo
–   alterar ficheiro Entidade.hbm.xml para o ficheiro
    codigo0403_05.txt
2º Exemplo
●   Testar
2º Exemplo
●   incluir um novo botão no formulário
●   incluir nesse botao o código do ficheiro
    codigo0403_04.txt
2º Exemplo
●   analisar código
2º Exemplo
●   Testar
3º Exemplo
●   Relações Um para Muitos
    –   Criar uma nova classe chamada Artigo
3º Exemplo
●   Criar na base de dados uma tabela chamada
    artigos
3º Exemplo
●   Criar mapeamento entre objecto Artigo e tabela
    artigos
    –   criar ficheiro xml chamado Artigo.hbm.xm...
3º Exemplo
●   analisar código
3º Exemplo
●   testar
3º Exemplo
●   alterar mapeamento entidade



●   acrescentar propriedade Artigos no objecto
    Entidade
4º Exemplo
●   Load
    –   agora que já temos bastantes dados nas nossas
        tabelas vamos recuperá-los
    –   Sessi...
4º Exemplo
●   analisar código
4º Exemplo
●   testar
Objectivos
●   identificar caracteristicas da framework
    nHibernate
●   perceber como funciona a framework
    nHiberna...
Desafio
●   Juntar o projecto Reflection com o projecto
    nHibernate
●   a partir da definição de um objecto criar
    d...
Upcoming SlideShare
Loading in …5
×

Desenvolvimento em .Net - nHibernate

5,199 views

Published on

Published in: Technology
2 Comments
2 Likes
Statistics
Notes
  • in .vb



    Dim myConfig As New Configuration



    myConfig.AddAssembly(Me.GetType().Assembly)



    myConfig.SetProperty('hibernate.dialect', 'NHibernate.Dialect.PostgreSQL82Dialect')

    'myConfig.SetProperty('dialect', 'NHibernate.Dialect.PostgreSQL82Dialect')



    MessageBox.Show(myConfig.GetProperty('hibernate.dialect'))





    'Dim myFactory As ISessionFactory = myConfig.Configure.BuildSessionFactory

    ->> Dim myFactory As ISessionFactory = myConfig.BuildSessionFactory()
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here
  • Could not find the dialect in the configuration
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here
No Downloads
Views
Total views
5,199
On SlideShare
0
From Embeds
0
Number of Embeds
62
Actions
Shares
0
Downloads
113
Comments
2
Likes
2
Embeds 0
No embeds

No notes for slide

Desenvolvimento em .Net - nHibernate

  1. 1. Desenvolvimento em .Net nHibernate
  2. 2. Objectivos ● identificar caracteristicas da framework nHibernate ● perceber como funciona a framework nHibernate ● identificar vantagens da utilização deste tipo de framework ● saber utilizar as ferramentas básicas da framework nHibernate
  3. 3. O que é ● porting de framework Hibernate para Java – ambas são Open-Source + (L)GPL – nHibernate 1.0 comparável com Hibernate 2.1 – versão mais recente de Hibernate => 3.1
  4. 4. Para que serve ● Mapear Dados / Objectos ● Fornecer serviços que: – permitam carregar os objectos – permitam persistir os objectos Operações CRUD C – create R – retrieve U – update D - delete
  5. 5. Como funciona ● Reflection – a partir de uma definição inicial – inspecciona os nossos objectos – cria as instruções necessárias para as operações CRUD – injecta valores nos nossos objectos
  6. 6. Porque queremos uma framework destas ● tipicamente para cada objecto necessitamos de: – definir a tabela onde ele vai ser persistido – criar uma instrução sql ● para ler um registo ● para ler um conjunto de registos baseado num critério ● para inserir um registo ● para actualizar um registo ● para eliminar um registo
  7. 7. Porque queremos uma framework destas (cont.) ● tipicamente para cada objecto necessitamos de: – criar o codigo necessario para ligar-me à base de dados (.net => connection) – criar o codigo necessário para executar a instrução sql (.net => command e eventualmente parameters) – criar objecto propriamente dito – criar objecto agrupador (collection)
  8. 8. Porque queremos uma framework destas (cont.) ● é um trabalho repetitivo ● é um trabalho moroso ● sujeito a erros (por exemplo tipos de dados diferentes entre tabela e objecto) ● ...
  9. 9. nHibernate ● Objecto.Save – grava dados de um objecto numa tabela ● Object.Load – carrega dados de uma tabela para um objecto ou para uma colecção
  10. 10. Produtividade? ● opção tradicional – +/- 50 linhas de código para operações CRUD – +/- 5 linhas de código para operações CRUD
  11. 11. Por onde começar ● www.nhibernate.org ● instalar – vitorsilvadownloadslibsnhibernate-1.0.0.0 ● copiar para uma pasta do vosso computador ● configurar vstudio + nhibernate – copiar nhibernate-mapping-2.0.xsd e nhibernate- configuration-2.0.xsd da pasta do nhibernate para a pasta de instalação do vstudio ● C:Program FilesMicrosoft Visual Studio .NET 2003Common7Packagesschemasxml
  12. 12. 1º Exemplo ● criar uma base de dados access ● nessa base de dados criar uma tabela chamada utilizadores
  13. 13. 1º Exemplo ● Criar uma nova solução com um projecto do tipo windows application ● Alterar Assembly Name e Root Namespace para Infos.Teste.NHibernate ● Criar uma classe chamada Utilizador com as propriedades correspondentes aos campos da tabela “utilizadores”
  14. 14. 1º Exemplo ● Configurações nHibernate – adicionar referencia ao assembly Nhibernate.dll – adicionar referencia ao assembly log4net.dll
  15. 15. 1º Exemplo ● Configurações nHibernate – definição da fonte de dados e mecanismo de log ● adicionar um ficheiro do tipo “Application Configuration File” ● substituir conteudo automático pelo ficheiro codigo0403_01.txt
  16. 16. 1º Exemplo ● analisar código
  17. 17. 1º Exemplo ● Configurações nHibernate – configuração mecanismo de log ● acrescentar referencia a ficheiro ● acrescentar no ficheiro AssemblyInfo.vb a linha: <Assembly: log4net.Config.XmlConfigurator()>
  18. 18. 1º Exemplo ● analisar código
  19. 19. 1º Exemplo ● Configurações nHibernate – mapeamento tabela entidades / objecto Entidade ● acrescentar ficheiro xml chamado Entidade.hbm.xml ● substituir conteudo automático pelo ficheiro codigo0403_02.txt ● nas propriedades desse ficheiro mudar propriedade build action para “Embedded Resource”
  20. 20. 1º Exemplo ● analisar código
  21. 21. 1º Exemplo ● no formulario incluir um botão ● incluir no formulário o código do ficheiro codigo0403_03.txt
  22. 22. 1º Exemplo ● analisar código
  23. 23. 1º Exemplo ● Testar
  24. 24. 2º Exemplo ● Herança – Estratégia 1ª classe => 1ª Tabela – Criar uma classe chamada Fornecedor que herda de Entidade e acrescenta a propriedade MoradaAlternativa – Acrescentar na base de dados uma tabela chamada fornecedores
  25. 25. 2º Exemplo – alterar ficheiro Entidade.hbm.xml para o ficheiro codigo0403_05.txt
  26. 26. 2º Exemplo ● Testar
  27. 27. 2º Exemplo ● incluir um novo botão no formulário ● incluir nesse botao o código do ficheiro codigo0403_04.txt
  28. 28. 2º Exemplo ● analisar código
  29. 29. 2º Exemplo ● Testar
  30. 30. 3º Exemplo ● Relações Um para Muitos – Criar uma nova classe chamada Artigo
  31. 31. 3º Exemplo ● Criar na base de dados uma tabela chamada artigos
  32. 32. 3º Exemplo ● Criar mapeamento entre objecto Artigo e tabela artigos – criar ficheiro xml chamado Artigo.hbm.xml – substituir conteúdo automático pelo conteúdo do ficheiro codigo0403_06.txt
  33. 33. 3º Exemplo ● analisar código
  34. 34. 3º Exemplo ● testar
  35. 35. 3º Exemplo ● alterar mapeamento entidade ● acrescentar propriedade Artigos no objecto Entidade
  36. 36. 4º Exemplo ● Load – agora que já temos bastantes dados nas nossas tabelas vamos recuperá-los – Session.Load() – Acrescentar novo botao no formulário – nesse botao acrescentar o codigo do ficheiro codigo0403_07.txt
  37. 37. 4º Exemplo ● analisar código
  38. 38. 4º Exemplo ● testar
  39. 39. Objectivos ● identificar caracteristicas da framework nHibernate ● perceber como funciona a framework nHibernate ● identificar vantagens da utilização deste tipo de framework ● saber utilizar as ferramentas básicas da framework nHibernate
  40. 40. Desafio ● Juntar o projecto Reflection com o projecto nHibernate ● a partir da definição de um objecto criar dinamicamente um formulário que permita a manutenção desses dados.

×