Versões comparadas

Chave

  • Esta linha foi adicionada.
  • Esta linha foi removida.
  • A formatação mudou.
Comentário: DI-2744

A funcionalidade Banco de Dados é responsável por vincular um ou mais bancos de dados ao seu sistema, além de definir os perfis (ambientes) que cada banco terá acesso.

Ao criar um projeto no Cronapp, o banco de desenvolvimento H2 já vem configurado por padrão. Porém, quando

precisamos

é preciso testar a conexão com banco de dados ou no momento da publicação

devemos

deve-se substituir

o

esse banco

H2.

Veremos como configurar bancos de dados em seu projeto Cronapp.

Gerenciar Banco de dados

A funcionalidade Banco de dados (context.xml) é responsável por vincular um ou mais bancos de dados ao seu sistema. Para abri-lo, clique no menu Projeto e selecione Banco de dados ou na árvore de arquivos acesse Configurações (config) e depois Bancos de Dados (context.xml).

Image Removed

Figura 1 - Acesso ao arquivo context.xml através do menu 

  1. Editar o banco de dados;
  2. Remover o banco de dados;
  3. Manipular o banco de dados, acesse o banco através da ferramenta de gerenciamento de banco de dados;
  4. Abre janela de gerenciamento de perfis;
  5. Adicionar um novo banco.

Ao abrir o arquivo context.xml em modo Editor de texto é possível ver o xml que exibe todas as informações dos bancos de dados configurados em seu projeto no Cronapp (Figura 2).

Aviso
titleAVISO

Tenha cuidado ao adicionar publicamente seu projeto em sistemas de controle de versões, como GitHub, bitbucket, GitLab e outros. 
No context.xml ficam armazenadas todas as informações de acesso ao seu banco, inclusive a senha.

Image Removed

Figura 2 - Abrir context.xml através do editor de texto

Adicionando novo banco de dados

Para adicionar um novo banco de dados, clique no botão Novo (item 5 da figura 1) e assim será aberta a janela de configuração do novo banco (Figura 3).

Image Removed

. O Cronapp possui suporte aos principais bancos de dados do mercado: MySQL, SQL Server, PostgreSQL, Oracle, DB2, Derby e Firebird.

É possível visualizar as declarações feitas ao banco de dados através do recurso Debugar SQL. Veja mais detalhes no tópico "Debugar SQL" em Camada de persistência.


Nota

O H2 é um banco de dados efémero (temporário) e deve ser usado apenas no período de desenvolvimento, nunca como banco de dados em produção. Em determinadas situações durante o período de desenvolvimento, pode ser necessário limpar os dados desse tipo de banco. 

Por ser um banco de dados temporário, alguns recursos podem não ser compatíveis com um banco H2. Para mais informações, recomendamos consultar sua documentação oficial. O Cronapp atualmente utiliza a versão 1.4.200 do H2.

Dica

Caso possua um banco de dados local e queira usá-lo na IDE, é possível utilizar o ngrok para criar um túnel seguro entre seu banco local e sua aplicação no Cronapp. Para mais detalhes, acesse o tutorial Conectando um banco de dados local ao Cronapp.

Âncora
ManipularDados
ManipularDados

Gerenciar banco

A figura abaixo apresenta os elementos da janela principal da funcionalidade de Banco de dados.


Image Added

Figura 1 - Ferramenta de configuração com o banco de dados


  1. Botão do menu do sistema: menu lateral que exibe atalhos e outros menus do sistema.
  2. Banco de dados: atalho para a ferramenta Banco de dados.
    •  Também é possível abrir a ferramenta a partir do menu do sistema Projeto > Banco de dados ou a partir do arquivo context.xml 

      Tooltip
      onlyIcontrue
      appendIconinfo-circle

      Endereço: config/context.xml

       quando o Modo Avançado estiver habilitado.

  3. Coluna Nome: lista de conexões de banco de dados.
  4. Coluna Perfil: lista de perfis associados a cada conexão de banco de dados.
  5. Editar banco: abre a área de edição do banco de dados selecionado (Figura 1.1).
  6. Manipular dados: abre o gerenciador de SQL do banco de dados selecionado.
  7. Importar arquivo Excel: permite importar uma ou mais planilhas do Excel.
  8. Exportar arquivo de populate: permite exportar em JSON os dados do banco selecionado.
  9. Remover banco: remove o banco de dados selecionado.
  10. Perfis: abre a área de edição de perfis.
  11. Novo: abre a área para adição de novo banco de dados (Figura 1.1).

Âncora
novaConexao
novaConexao

Novo banco de dados

Os campos abaixo serão exibidos ao editar (destaque 5 da figura 1) ou ao adicionar um novo banco de dados (destaque 11 da figura 1). Os campos e seus nomes irão variar com base no Fabricante de banco de dados selecionado.


Image Added

Figura 1.1 - Adicionando novo bancoFigura 3 - Adicionando novo banco de dados


Campos

  • Banco de dados na nuvem: caso tenha um banco no
  • Serviços
  • serviço de
  • Cloud
  • cloud do Cronapp, selecione-o aqui para preencher automaticamente todos os outros campos abaixo. (acesse o tópico "Banco de dados" em Serviços de Cloud para mais detalhes).
    • Novo banco de dados na nuvem: abre uma nova aba na janela dos serviços de cloud para criar um banco de dados.
  • Nome: nome da conexão do banco, identifica o banco dentro

  • do Cronapp
  • da IDE.

    Informações

    Após criada a conexão, não é possível editar o campo Nome da conexão.

    Ao criar uma conexão, informe o nome de uma conexão existente para atribuir um perfil diferente a conexão. Veja mais detalhes no tópico Perfis.

  • Perfilescolha
  • do
  • um perfil
  • do
  • de banco de dados para associar a conexão. Ex.: Desenvolvimento, Produção ou outro criado.
  • É possível excluir um dos perfis clicando no botão da lixeira ao lado do campo
  •  
    • Remover perfil: esse botão exclui o perfil selecionado.
  • Fabricante:
  •  
  • escolha do fabricante do banco de dados. Para saber quais são as versões suportadas, consulte a documentação Requisitos recomendados.
    • MySQL;
    • H2;
    • PostgreSQL;
    • DB2;
    • SQL Server;
    • Oracle;
    • Derby;
    • Firebird.
  • Usuário: usuário
  • para o
  • do banco de dados.
  • Senha: senha do usuário
  • para o
  • do banco de dados.
  • Nome Banco
  • ou Esquema: 
  • : (destaque 1 da figura 1.1) selecione um dos
  • schemas ou bancos.O primeiro botão atualiza os schemas na caixa de seleção e o segundo cria um novo schema/banco
  • bancos (esquemas) existentes ou informe manualmente para criar.
    No fabricante MySQL, esse campo muda seu nome para Esquema.
    • Atualizar lista de Bancos (schemas): (destaque a da figura 1.1) atualiza as opções da caixa de seleção.
    • Criar database: (destaque b da figura 1.1) cria um novo banco (schema).
  • Servidor: endereço do servidor.
  • Porta: porta usada pelo banco de dados.
  • Nome Instância / Esquema: (destaque 2 da figura 1.1) lista de instâncias/esquemas obtidos do banco de dados. Utilize vírgula "," para separar as instâncias/esquemas: "esquema1,esquema2,esquemaN".
    A depender do fabricante selecionado, esse campo altera seu nome/título ou não é exibido:
    • Esquema: PostgreSQL e Oracle.
    • Nome Instância: SQL Server.
    • Não é exibido: MySQL, H2, DB2, Derby e Firebird.
  • Tipo: esse campo será exibido apenas ao selecionar o fabricante "Oracle", nele é possível selecionar como será montado a conexão com o banco de dados, via "SID" ou "Service name".  

Botões

  • OK: 
salva a configuração do banco de dados.
  • retorna para a janela principal. Essa opção não salva as alterações, utilize o ícone Salvar dos botões de atalho (CTRL + S). 
  • Cancelar: volta para a tela inicial do
context.xml
  • banco de dados.
  • Testar Conexão: verifica se a conexão do banco está funcionando corretamente

;
  • .

    Informações
    Se o nome/esquema informado no campo Nome Banco (ou Esquema, dependendo do fabricante) não estiver presente na lista, uma caixa de diálogo será exibida para confirmar a criação do novo banco/esquema.


  • Manipular dadosabre uma janela para fazer manipulação do banco de
dados através
  • dados através da ferramenta de gerenciamento de banco de dados
;
  • .
  • Avançadoabre a janela de configuração dos atributos da conexão (Figura
4
  • 1.2).


Informações

Os esquemas informados no campo Nome Instância / Esquema serão utilizados para exibir e filtrar as tabelas durante a engenharia reversa.

Nota

Além de verificar o funcionamento da conexão com

titleLembrete

Após configurar o banco de dados, execute a aplicação para criar as tabelas no banco.o botão Testar Conexão criará um novo Esquema/banco caso seja informado manualmente um nome de Esquemas/bancos que não exista.

Âncora
avancado
avancado

Atributos da conexão

A janela de Atributos de conexão é acessível a partir do botão Avançado (Figura 1.2) e possui diversos campos para a personalização avançada da conexão com o banco de dados. Normalmente não é necessário alterar as essas configurações da janela Atributos de Conexão ao adicionar um novo banco de dados, pois o Cronapp configura automaticamente os principais atributos.

Image Removed

Figura 4 - Janela de configuração dos Atributos da Conexão

Perfil

O Cronapp permite que seja criado perfis que serão vinculados a diferentes bancos de dados cadastrados no projeto. No momento em que for rodar o projeto ou gerar o .war é possível selecionar um dos perfis/banco de dados.

Image Removed

Figura 5 - É possível selecionar um banco de dados ao rodar a aplicação

Image Removed

Figura 5 - Ao exportar para .war, selecione o perfil desejado

Para adicionar um novo perfil, clique no botão Perfil na janela da funcionalidade Banco de dados (item 4 da figura 1) e assim será aberta a janela de configuração de Perfil (Figura 6). Os perfis DEV e PROD já vem previamente configurados, eles serão exibidos respectivamente como Desenvolvimento e Produção.

Clique no botão Novo para adicionar outro perfil (Figura 6). Para vincular esse perfil a um banco, selecione-o no campo Perfil (Figura 3) no momento que adicionar um novo banco de dados ou editar um existente. 

 Image Removed

Figura 6 - Janela de gerenciamento dos perfis de banco de dados

Perfil padrão

É possível adicionar um perfil como padrão, dessa forma não será necessário selecionar um perfil toda vez que for rodar o projeto. Para selecionar o perfil padrão, abra as configurações do projeto e selecione o perfil desejado.

Image Removed

Figura 7 - Selecione um dos perfis como padrão

Vincular o banco ao seu projeto

Para saber como gerar as tabelas automaticamente ou realizar engenharia reversa de um banco de dados, acesse a documentação do Diagrama de classe.

todos os campos necessários e o seu uso é destinado a usuários experientes em banco de dados.

A partir dessa janela é possível obter o driver utilizado para a conexão com o banco (campo driverClassName) e a string de conexão JDBC (campo url).


Image Added

Figura 1.2 - Janela com os atributos da conexão do banco de dados

Âncora
instanciaEsquema
instanciaEsquema

Instância / Esquema

O conceito da estrutura do banco de dados e suas instâncias ou esquemas variam conforme o fabricante do banco de dados. Em geral, os esquemas (schema) ou bancos são estruturas lógicas usadas para armazenar os dados em um banco de dados. Para cada banco de dados criado, existirão estruturas (a depender do fabricante terá o nome de banco ou schema) com suas tabelas, views, relacionamentos e outros objetos particulares, e para o usuário que os acessa, serão na prática como bancos de dados separados.

O campo Novo Banco (possui esse nome ao selecionar o banco SQL Server, por exemplo) da figura 1.3 lista os bancos existentes (master) e permite criar outro ao informar um novo nome e clicar no botão Criar Database (destaque 1).

Para os bancos de dados SQL ServerPostgreSQL e Oracle será exibido mais um campo de texto, Nome Instância (SQL Server) ou Esquema (PostgreSQL e Oracle). Esse campo permite informar uma instância/esquema ou várias, separando-as por vírgula, exemplo: "esquema1,esquema2,esquemaN".


Image Added

Figura 1.3 - Criação de um esquema (banco) no SQL Server

Âncora
perfilBancoDados
perfilBancoDados

Perfis da aplicação

Os Perfis da aplicação do Cronapp são criados na ferramenta de Banco de dados, mas não estão exclusivamente vinculados a ele. Eles estão associados ao ambiente atual do projeto, como por exemplo, teste, homologação, produção, entre outros. Dessa forma, ao executar o projeto a partir de um perfil específico, é possível variar não apenas o banco de dados utilizado, mas também a VPNParâmetros do sistema ou outros recursos.

Tomando o banco de dados como exemplo, cada conexão pode estar relacionada a vários perfis distintos, sendo que cada perfil está direcionado a um banco de dados físico específico, como H2, MySQL ou PostgreSQL (Figura 1.4). Normalmente, os bancos de dados vinculados aos perfis de uma mesma conexão possuem a mesma estrutura de tabelas, colunas e relacionamentos, divergindo apenas nos dados contidos neles.

A representação na figura abaixo mostra uma conexão vinculada a três perfis. Dois desses perfis se conectam ao banco de dados "MySQL 1", sendo que o perfil "Desenvolvimento" utiliza uma VPN para acessar o banco de dados, enquanto o perfil "Homologação" o acessa diretamente. Já o perfil "Produção" está conectado a um banco de dados separado, o "MySQL 2".


Image Added

Figura 1.4 - Exemplo de relação entre conexão, perfis e bancos de dados


Os perfis são selecionáveis a partir de diversas ferramentas do Cronapp, dessa forma, é possível garantir quais bancos serão executados a partir da ação a ser executada. 

Exemplo de recursos que utilizam os perfis de conexão:


Image Added

Figura 1.5 - Selecionando perfil antes de executar o projeto na IDE


Nota

Executar a aplicação com o perfil "Produção" no ambiente do Cronapp será útil na primeira vez, pois, durante a execução do projeto, o Cronapp criará as tabelas do banco de dados de acordo com o Diagrama de dados desenvolvido. No entanto, após a implantação do sistema, deve-se ter cuidado ao executar o Cronapp com esse perfil selecionado, pois, a depender das configurações do Diagrama, as estruturas de dados podem ser modificadas ou os dados podem ser excluídos (ver mais em Camada de persistência).

Novo perfil

Para criar um perfil, clique no botão Perfis na janela do Banco de Dados (destaque 10 da figura 1). 

Os perfis "DEV" e "PROD" já existem em todos os projetos e serão representados pelos termos "Desenvolvimento" e "Produção" respectivamente. Para criar um perfil, clique no botão Novo (destaque 3 da figura 1.6) e informe um nome no novo campo.


Image Added

Figura 1.6 - Aba de edição de perfil


  1. Perfil: coluna com campos editáveis dos nomes dos perfis. Campos recém inseridos exibirão o texto em amarelo.
  2. Remover perfil: só é possível remover perfis que não estão associados a nenhuma conexão de banco de dados.
  3. Novo: inclui um campo na coluna de perfis.
  • OK: retorna para a janela principal. Essa opção não salva as alterações, utilize o ícone Salvar dos botões de atalho (CTRL + S). 
  • Cancelar: retorna para a janela principal e ignora a edição atual dos perfis.

Vincular perfil a conexão

Para incluir outro perfil em uma conexão de banco de dados é necessário que tanto a conexão quanto o novo perfil já tenham sido criados.

Usaremos de exemplo a configuração apresentada na Figura 1.5, nela, a conexão "testeAB" possui um perfil "Produção" que está conectado a um banco de dados MySQL. Incluiremos outro perfil ("Desenvolvimento") também conectado a um banco MySQL.

Crie uma nova conexão de Banco de dados a partir do botão Novo (destaque 11 da figura 1) e configure como na imagem abaixo.


Image Added

Figura 1.7 - O vínculo do perfil a uma conexão é feito a partir de uma nova conexão com o mesmo nome


  1. Nome: informe o nome exato da conexão que deseja incluir o perfil.
  2. Perfil: selecione o novo perfil para a conexão.

    Nota

    Atenção ao selecionar um perfil já vinculado, pois os novos dados serão atualizados para o perfil selecionado.


  3. Fabricante: selecione o fabricante de banco de dados relacionado ao perfil.
  4. Dados de conexão: informe os dados de acesso ao banco de dados. Para detalhes sobre os campos, acesse o tópico Novo banco de dados.


Clique em OK (figura 1.7) para retornar a lista de conexões e visualizar o perfil vinculado a conexão (destaque 1 da figura 1.8). Nesse momento, as configurações da ferramenta Banco de Dados ainda não estão salvas, clique em Salvar (2 da figura 1.8). 


Image Added

Figura 1.8 - Resultado da inclusão do novo perfil

Âncora
gerenciarbd
gerenciarbd

Manipular dados

O Sistema de Gerenciamento de Banco de Dados (SGBD) online do Cronapp permite consultar e adicionar dados, criar tabelas e tabelas virtuais, procedures e vários outros recursos. Ao utilizar um banco de dados H2 em seu projeto, as tabelas e seus dados só serão exibidos após executar o projeto pela primeira vez.


Image Added

Figura 3 - Sistema de gerenciamento de banco de dados

Âncora
importarExcel
importarExcel

Importar arquivo Excel

A funcionalidade Banco de dados (context.xml) do Cronapp nos permite adicionar arquivos do Excel e converter em tabelas do banco de dados. Ele se comporta exatamente como uma tabela criada diretamente no Diagrama de dados. É importante salientar que as abas (sheets) das planilhas vão gerar os nomes das tabelas e cada linha será um registro (tupla) da tabela. A coluna Id é gerada automaticamente pelo Cronapp, portanto, não se faz necessário inserir uma coluna id no arquivo excel. 


Informações
titleImportante

A inserção de uma planilha não atualiza os registros existentes, apenas adiciona novos. É possível realizar toda e qualquer operação de banco de dados com a tabela importada. A funcionalidade de importar arquivos Excel aceita extensões do tipo .xls e .xlsx


Image Added

Figura 4 - Importando arquivo do Excel para o banco de dados.


  1. Clique no ícone Importar arquivo Excel;
  2. Selecione o arquivo do seu computador, ou clique e arraste para a tela de Envio de arquivo;
  3. Finalize a operação de importação do arquivo clicando em OK.


Para verificar se sua tabela foi importada para o banco de dados, clique na opção Manipular dados (destaque 6 da figura 1). Faça uma consulta simples e observe o resultado. No exemplo da figura abaixo estamos verificando que a tabela ALUNOS foi importada no arquivo Aluxos.xlsx (Figura 4).


Image Added

Figura 4.1 - Verificando se a tabela foi importada

Formatação aceita 

Existem alguns tipos de configurações na planilha que podem gerar erros de importação e inserção no banco de dados. Para evita-los é necessário seguir algumas recomendações.

  1. A primeira linha da tabela deve ser sempre reservada para os nomes das colunas (A1, B1, C1...), enquanto as linhas subsequentes devem conter os dados. Não respeitar essa condição resultará na fixação dos dados da segunda linha como nomes das colunas.

  2. É permitido ter dados faltantes no arquivo, contanto que eles sejam sinalizados como "NULL" ou utilizando o caractere espaço " ", deixar a célula totalmente em branco pode ocasionar erro de inserção no banco de dados.

  3. Os dados devem estar organizados em formato de tabela estruturada, ou seja, linha e coluna. Todo dado deve pertencer a uma coluna, inserir um dado fora de um campo que não seja coluna poderá gerar um erro de importação, em alguns casos o arquivo é importado e a coluna sem nome é intitulada como class automaticamente pelo banco.
    Ex.: Se a coluna F possuir um dado apenas na célula F3, isso ocasionará um erro durante a importação.

  4. Células que possuem fórmulas podem gerar efeito indesejado, resultando na exibição da própria fórmula em vez do resultado calculado.
    Ex.: Se a célula C4 tivesse a fórmula "=SOMA(C2 + 2)", o resultado no banco seria "SOMA(C2 + 2)" ao invés de "3".

A adoção dessas diretrizes garantirá uma correta formatação do arquivo e evitará possíveis problemas ou inconsistências ao importá-lo.

A tabela abaixo respeita todas as três regras citadas acima.


Tabela - Exemplo de planilha excel


ABCD     E           F     
1PRODUTOPRECOUNITARIOQUANTIDADEMERCADO

2maçã1,56Novo lar

3mangaNULLNULLNULL

4uva15Andrade Supermercado

5abacaxiNULL6Rede Fort

6limão1,22Mix

7





Âncora
ExportarPopulate
ExportarPopulate

Exportar arquivo de populate

Há uma funcionalidade do Banco de Dados (context.xml) que permite exportar um JSON que poderá ser utilizado para alimentar o arquivo populate.json com os dados de uma ou mais tabelas do banco de dados selecionado, como mostrado na figura 5.


Image Added

Figura 5 - Exportando arquivo de populate


  1. Clique no ícone para exportar o arquivo de populate.
  2. Selecione o namespace do Diagrama de dados.
  3. Selecione a tabela com os dados que deseja exportar.

    Informações

    Só serão exibidas as tabelas que possuem classes referenciadas no diagrama selecionado. 

Por fim, será baixado um arquivo JSON onde poderá incluir no populte.json, acesse a documentação Arquivo populate json para mais detalhes sobre como trabalhar com o arquivo populate.json.

Âncora
contextXml
contextXml

Context.xml

Ao abrir o arquivo do banco de dados, context.xml (Endereço: config/context.xml), com o editor de texto é possível ver o xml que exibe todas as informações dos bancos de dados configurados em seu projeto no Cronapp (Figura 6).

Ao selecionar um perfil que não exista para uma conexão, o Cronapp utilizará o primeiro perfil listado para aquela conexão no arquivo context.xml. No exemplo da figura abaixo existem 3 perfis ("DEV", "PROD" e "QA"). Caso uma conexão esteja vinculada a apenas dois desses perfis (ex.: "DEV" e "PROD"), e o perfil selecionado durante a execução do projeto seja "QA", o Cronapp executará o primeiro perfil dessa lista para aquela conexão.


Nota

Para abrir como editor de texto, é preciso que a IDE esteja habilitada no Modo Avançado.


Image Added

Figura 6 - Abrir banco de dados como texto


Elementos:

  • <Profile>: lista de perfis do projeto.
  • <Resource>: lista de conexões vinculada a perfis. Uma conexão com dois perfis vão gerar dois elementos <Resource> no arquivo context.xml.


Aviso

Tenha cuidado ao adicionar publicamente seu projeto em sistemas de controle de versões, como GitHub, bitbucket, GitLab e outros. 
No context.xml ficam armazenadas todas as informações de acesso ao seu banco, inclusive a senha.

Nesta Nessa página

Índice