Slideshare.net (beta)

 

All comments

Add a comment on Slide 1

If you have a SlideShare account, login to comment; else you can comment as a guest


Showing 1-50 of 0 (more)

Desenvolvimento em .Net - nHibernate

From vitor.silva, 1 month ago

450 views  |  0 comments  |  0 favorites  |  4 downloads
 

Tags

tutorial .net

 
 

Groups / Events

 

 
Embed
options

More Info

CC Attribution-ShareAlike LicenseCC Attribution-ShareAlike License
This slideshow is Public
Total Views: 450
on Slideshare: 450
from embeds: 0

Slideshow transcript

Slide 1: Desenvolvimento em .Net nHibernate

Slide 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

Slide 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

Slide 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

Slide 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

Slide 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

Slide 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)

Slide 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) ● ...

Slide 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

Slide 10: Produtividade? ● opção tradicional – +/- 50 linhas de código para operações CRUD – +/- 5 linhas de código para operações CRUD

Slide 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

Slide 12: 1º Exemplo ● criar uma base de dados access ● nessa base de dados criar uma tabela chamada utilizadores

Slide 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”

Slide 14: 1º Exemplo ● Configurações nHibernate – adicionar referencia ao assembly Nhibernate.dll – adicionar referencia ao assembly log4net.dll

Slide 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

Slide 16: 1º Exemplo ● analisar código

Slide 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()>

Slide 18: 1º Exemplo ● analisar código

Slide 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”

Slide 20: 1º Exemplo ● analisar código

Slide 21: 1º Exemplo ● no formulario incluir um botão ● incluir no formulário o código do ficheiro codigo0403_03.txt

Slide 22: 1º Exemplo ● analisar código

Slide 23: 1º Exemplo ● Testar

Slide 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

Slide 25: 2º Exemplo – alterar ficheiro Entidade.hbm.xml para o ficheiro codigo0403_05.txt

Slide 26: 2º Exemplo ● Testar

Slide 27: 2º Exemplo ● incluir um novo botão no formulário ● incluir nesse botao o código do ficheiro codigo0403_04.txt

Slide 28: 2º Exemplo ● analisar código

Slide 29: 2º Exemplo ● Testar

Slide 30: 3º Exemplo ● Relações Um para Muitos – Criar uma nova classe chamada Artigo

Slide 31: 3º Exemplo ● Criar na base de dados uma tabela chamada artigos

Slide 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

Slide 33: 3º Exemplo ● analisar código

Slide 34: 3º Exemplo ● testar

Slide 35: 3º Exemplo ● alterar mapeamento entidade ● acrescentar propriedade Artigos no objecto Entidade

Slide 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

Slide 37: 4º Exemplo ● analisar código

Slide 38: 4º Exemplo ● testar

Slide 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

Slide 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.