Apresento neste artigo como criar uma aplicação web totalmente orientada a objetos usando o framework NHibernate e a linguagem C#.
Nossa meta é construir um website com um cadastro de atividades usando os novos controles GridView e ObjectDataSource, ambos presentes no Framework .NET 2.0. A aplicação possuirá as funcionalidades básicas de um cadastro, sendo elas: consultar, inserir, editar e remover. Um detalhe muito importante é que nenhuma linha de código SQL será escrita devido ao uso do NHibernate.
Para desenvolver esta aplicação vamos usar as seguintes ferramentas:
- Visual Studio 2005 (pode ser o Visual Web Developer 2005 Express Edition)
Link: http://msdn.microsoft.com/vstudio/express/vwd/
- MySQL 5.0 Community Edition
Link: http://dev.mysql.com/downloads/mysql/5.0.html
- MySQL Connector 1.0.7: provider pra acessar o MySQL
Link: http://dev.mysql.com/downloads/connector/net/1.0.html
- MyGeneration 1.1.5.1: ferramenta para gerar o mapeamento objeto/relacional para o NHibernate
Link: http://www.mygenerationsoftware.com
- NHibernate 1.0.2: framework para persistência dos objetos
Link: http://www.nhibernate.org
- Instalação e configuração das ferramentas
Depois de fazer o download de todas as ferramentas citadas acima, instale o MySQL, crie um banco de dados chamado WebAppOO e uma tabela chamada Atividade com os seguintes campos:
- Id - Int (primary key)
- Nome - Varchar(50), Not null
- Descrição - Varchar(200), Not null
Deve ficar assim:
Agora instale o provider do MySQL e o MyGeneration. Não vou cobrir a configuração do MyGeneration, para isso veja nas referências desse artigo a documentação sobre o assunto.
O próximo passo é descompactar o NHibernate em uma pasta qualquer.
- Criando a aplicação
Abra o Visual Studio e crie uma nova solução chamada ProjetoWeb. Para isso, clique em File - New - Project - Other Project Types - Visual Studio Solutions e escolha o template Blank Solution. Chame a solução de ProjetoWeb e defina a localização (de preferência a mesma do artigo). Veja:
Clique no botão OK e uma solução vazia será criada. Agora crie um website, clicando com o botão direito do mouse sobre a solução recém criada, escolha Add - New Web Site. Deixe selecionado o template ASP.NET Web Site e na localização coloque c:\ProjetosVS\ProjetoWeb\WebAppOO. Deve ficar da seguinte forma:
Clique em OK para criar o website. Agora vamos montar a nossa interface. Deixe o arquivo Default.aspx com a seguinte aparência:
Os controles mais importantes são o GridView e o ObjectDataSource. Repare que somente adicionei os controles na tela e configurei o nome deles, ainda não fiz nenhuma ligação entre eles. O hyperlink Inserir Atividade aponta para o arquivo InserirAtividade.aspx.