Get Started. It's Free
or sign up with your email address
Grails 3.x by Mind Map: Grails 3.x

1. Visão Geral

1.1. 1. Instalando o Grails

1.1.1. sdk install grails <version>

1.1.1.1. sdk install grails 3.2.0

1.2. 2. Criando o app

1.2.1. grails create-app <NomeDoApp>

1.2.1.1. grails create-app UserCLI

1.3. 3. Executando o app

1.3.1. cd <NomeDoApp>

1.3.1.1. cd UserCLI

1.3.2. grails run-app

1.4. 4. Criando o modelo

1.4.1. grails create-domain-class <nomepacote.NomeDaClasse>

1.4.1.1. grails create-domain-class myapp.User

1.4.1.2. Adicionando propriedades e restrições (constraints)

1.5. 5. Criando o controller

1.5.1. grails generate-controller <NomeDaClasse>

1.5.1.1. grails generate-controller myapp.User

1.6. 6. Fazendo scaffolding

1.6.1. Dinâmico

1.6.1.1. static scaffold = <NomeDaClasseDeDominio>

1.6.1.2. Alterando a classe UserController

1.6.2. Estático

1.6.2.1. Remover o scaffolding dinâmico do controller, caso tenha usado

1.6.2.2. grails generate-views <nomepacote.NomeDaClasseDeDominio>

1.6.2.2.1. grails generate-views myapp.User

1.7. 7. Fazendo bootstraping

1.7.1. Alterando a classe BootStrap.groovy que está no diretório init

1.8. 8. Persistindo dados

1.8.1. Alterar o arquivo conf/application.yml

1.8.2. grails prod run-app

2. Mapeamento Objeto-Relacional

2.1. Abrir console interativo

2.1.1. grails console

2.2. CRUD básico

2.2.1. Salvar

2.2.1.1. <objeto>.save()

2.2.2. Listar

2.2.2.1. <Classe>.list()

2.2.3. Recuperar para escrita

2.2.3.1. <Classe>.get(<id>)

2.2.4. Recuperar para leitura

2.2.4.1. <Classe>.read(id)

2.2.5. Alterar

2.2.6. Excluir

2.2.6.1. <objeto>.delete()

2.3. Queries

2.3.1. Métodos pré-definidos

2.3.1.1. <Classe>.find("<consulta>")

2.3.1.1.1. Fixa

2.3.1.1.2. Com parâmetros

2.3.1.1.3. Com parâmetros nomeados

2.3.1.2. <Classe>.findBy<Propriedade>(<valor>)

2.3.1.2.1. Simples

2.3.1.2.2. Like

2.3.1.2.3. And

2.3.1.3. <Classe>.findAllBy<Propriedade>(<valor>)

2.3.2. Criteria

2.3.2.1. find

2.3.2.2. list

2.3.3. SQL puro

2.3.3.1. executeQuery

2.3.3.2. executeUpdate

2.4. Relacionamentos

2.4.1. Modelo utilizado

2.4.2. UM para MUITOS

2.4.2.1. Mapeamento

2.4.2.1.1. Lado UM

2.4.2.1.2. Lado MUITOS

2.4.2.2. Funcionamento

2.4.2.2.1. Salvar ambos os lados

2.4.2.2.2. Salvar o lado muitos

2.4.2.2.3. Iterar o lado muitos

2.4.3. UM para UM

2.4.3.1. Mapeamento

2.4.3.1.1. Lado mestre

2.4.3.1.2. Lado detalhe

2.4.3.2. Funcionamento

2.4.3.2.1. Salvar ambos os lados

2.4.3.2.2. Recuperar lado detalhe

2.4.4. MUITOS para MUITOS

2.4.4.1. Mapeamento

2.4.4.1.1. Lado mestre

2.4.4.1.2. Lado detalhe

2.4.4.2. Funcionamento

2.4.4.2.1. Salvar ambos os lados

2.4.4.2.2. Iterar as especialidades

2.4.5. Classe de associação

2.4.5.1. Mapeamento

2.4.5.1.1. Lado A

2.4.5.1.2. Lado B

2.4.5.1.3. Associação

2.4.5.2. Funcionamento

2.4.5.2.1. Salvar um parto com com cascateamento para classe de associação