Voltar

Yamapper: instalação e configuração

Em Yamapper | 10/02/2011 21:10 Yamapper

Primeiros passos

Este artigo tem como intuito apresentar a instalação e configuração do ORM Yamapper em uma aplicação web .NET 4.0 com banco de dados SQL Server.

Ao longo do artigo, serão discutidos:

Este artigo assume que o leitor já esteja familiarizado com a plataforma .NET 4.0, IDE Visual Studio 2010, conceitos básicos do Yamapper e configuração e utilização do My Generation.

Criação das tabelas

Para este exemplo, serão criadas três tabelas, Cliente, Produto e ClienteProduto, simulando uma atividade de venda de produtos.

TabelasTabelas a serem criadas.

O arquivo SQL para criação das tabelas pode ser baixado aqui.

Crie um banco de dados chamado Yamapper e execute o script para a criação dos objetos de banco de dados, cadastrando alguns clientes.

Instalação do Yamapper

Primeiramente, obtenha a última versão do Yamapper.

No arquivo baixado, haverá os seguintes arquivos:

DiretóriosDiretório lib e os assemblies do Yamapper.

Após o download do arquivo, crie um diretório chamado Yamapper.Example para armazenamento do projeto a ser criado e em seu interior crie um diretório chamado lib. Neste diretório, ficarão armazenados os assemblies do Yamapper e de suas dependências. Descompacte os arquivos do diretório dotNet40 do arquivo baixado, movendo todas as DLLs, PDBs e XMLs para o diretório lib recém criado. Feito isso, o Yamapper já está devidamente instalado.

Criação do projeto

Abra o Visual Studio 2010 e crie um novo projeto ASP.Net Web Application na linguagem C#. Chame-o de Yamapper.Example, defina a localização dele como o diretório recém criado, desmarque Create Directory for solution e clique em OK.

ProjetoCriação de novo projeto ASP.Net Web Application.

Após a criação do projeto, outros quatro novos projetos do tipo Class Library devem ser criados para composição da camada de modelo:

Apague todos os arquivos de classe criados automaticamente. Ao término destes passos, a solução deverá estar similar a imagem abaixo:

SoluçãoProjetos da solução.

Diretórios especiais

Após a criação de todos os projetos, alguns diretórios especiais devem ser criados, de acordo com a arquitetura proposta para uso com o Yamapper:

Yamapper.Example

Yamapper.Example.Core

Yamapper.Example.Data

Yamapper.Example.Domain

Configurações do Yamapper

Após a criação de todos os projetos e diretórios necessários, deve-se configurar o Yamapper nos projetos.

Adicione como referência em todos os projetos os assemblies Intentor.Yamapper.dll, Intentor.Utilities.dll e Castle.Core.dll.

No projeto Yamapper.Example:

Crie um novo arquivo de configuração em Util\Config chamado Yamapper.config conforme código abaixo, alterando a string de conexão conforme necessário:

<?xml version="1.0" encoding="utf-8" ?>
<yamapper-configuration xmlns="urn:yamapper-configuration-10.4.1.0">
  <yamapper
		defaultConnection="Yamapper"
		mappingsFolder="Util\Mappings" />
  <databaseConnections>
    <connection name="Yamapper"
				connectionString="Data Source=localhost;Initial Catalog=Yamapper;User Id=Yamapper;Password=Yamapper"
				provider="Intentor.Yamapper.Drivers.SqlServerDriver" />
  </databaseConnections>
</yamapper-configuration>

Abra o arquivo Web.config, crie uma nova configSection chamada yamapper e configure o módulo DbProviderModule, conforme código-exemplo abaixo:

<?xml version="1.0"?>
<configuration>

  <configSections>
    <!--Início da definição da section group do componente Yamapper-->
    <sectionGroup name="intentor">
      <section name="yamapper" type="Intentor.Yamapper.YamapperConfigurationSection, Intentor.Yamapper" allowLocation="true" allowDefinition="Everywhere"/>
    </sectionGroup>
    <!--Fim da definição da section group do componente Yamapper-->
  </configSections>  

  <appSettings/>
  <connectionStrings/>  

  <!--Início da section group do componente Yamapper-->
  <intentor>
    <yamapper pathConfigurationFile="Util\Config\Yamapper.config"/>
  </intentor>
  <!--Fim da section group do componente Yamapper-->

  <system.web>
    <compilation debug="true" targetFramework="4.0" />

    <httpModules>
      <!--Início do módulo do Yamapper para gerenciamento automatizado de conexões.-->
      <add name="DbProviderModule" type="Intentor.Yamapper.DbProviderModule, Intentor.Yamapper"/>
      <!--Fim do módulo do Yamapper para gerenciamento automatizado de conexões.-->
    </httpModules>
  </system.web>
  
</configuration>

Após essas configurações iniciais, a aplicação já está pronta para acessar o banco de dados utilizando o Yamapper.

Geração das classes no MyGeneration

Execução do MyGeneration

Clique duas vezes no arquivo Intentor.Yamapper Class Generator.csgen para que o MyGeneration seja aberto. Clique em Execute.

Na janela que surgir:

Todos os controles da janela possuem descrições ao manter o mouse sobre suas posições.

MyGenerationJanela do script de geração de objetos no MyGeneration.

Clique em OK para gerar os objetos.

Cópia dos arquivos

Os arquivos gerados ficam armazenados em pastas que se relacionam com cada um dos projetos criados. Mova-os arquivos de acordo com cada projeto, incluindo os supertypes, e adicione-os no Visual Studio.

Acesso ao banco de dados

Abra o código de retaguarda do arquivo Default.aspx do projeto Yamapper.Example e digite os códigos conforme abaixo:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using Yamapper.Example.Domain;
using Yamapper.Example.Data;

namespace Yamapper.Example
{
    public partial class _Default : System.Web.UI.Page
    {
        protected void Page_Load(object sender, EventArgs e)
        {
            ClienteBiz biz = new ClienteBiz(new ClienteDao());
            var clientes = biz.GetAll();
        }
    }
}

Ao executar a aplicação, a variável clientes conterá todos os clientes cadastrados no banco de dados.

Ao infinito e além

O código-fonte completo do projeto criado pode ser baixado aqui.

Caso tenha alguma dúvida, curiosidade, trauma ou angústia sobre o projeto, ou apenas deseja elogiá-lo, utilize o espaço de comentários mais abaixo para entrar em contato.

Comentários
Comentar
Campos marcados com * são obrigatórios. Seu e-mail não será exibido.
*
*
*
Captcha *
CATEGORIAS AO TOPO E ALÉM LUGARES PARA IR
Topo

“Se você fizer o que todo mundo também pode fazer, você sempre será igual a todo mundo.” - Max Gehringer