Spring Framework. Parte 02 acesso a dados e testes de integração
|
|
- Mariana Campos Penha
- 6 Há anos
- Visualizações:
Transcrição
1 Spring Framework Parte 02 acesso a dados e testes de integração
2 H2 Database H2 é um SGBDR escrito em Java que pode atuar tanto no modo embutido como na forma clienteservidor. Após instalação, executar o script h2.bat, ou h2.sh, presente no diretório bin. Em seguida, usar o navegador para acessar o endereço 2
3 Dependências <dependency> <groupid>com.h2database</groupid> <artifactid>h2</artifactid> </dependency> <dependency> <groupid>org.springframework</groupid> <artifactid>spring-jdbc</artifactid> </dependency> <dependency> <groupid>org.springframework</groupid> <artifactid>spring-test</artifactid> </dependency> 3
4 Classes de configuração Classe AppConfig: configurações gerais da aplicação que não possuem relação com a parte web. Class AppConfigTest: configurações específicas para execução de testes automatizados. 4
5 Classes de configuração: AppConfig package cursospring.revenda_veiculos.config; import javax.sql.datasource; import org.springframework.context.annotation.configuration; import public class AppConfig public DataSource datasource(){ DriverManagerDataSource ds = new DriverManagerDataSource(); ds.setdriverclassname("org.h2.driver"); ds.seturl("jdbc:h2:tcp://localhost/~/curso_spring"); ds.setusername("sa"); ds.setpassword(""); return ds; 5
6 Classes de configuração: AppConfig package cursospring.revenda_veiculos.config; import javax.sql.datasource; DriverManagerDataSource é uma implementação de import org.springframework.context.annotation.configuration; DataSource que deve ser utilizada apenas em tempo import org.springframework.jdbc.datasource.drivermanagerdatasource; de desenvolvimento. Para produção, deve-se utilizar uma implementação que trabalhe com pool conexões tal como Apache Commons DBCP ou C3P0. public class AppConfig public DataSource datasource(){ DriverManagerDataSource ds = new DriverManagerDataSource(); ds.setdriverclassname("org.h2.driver"); ds.seturl("jdbc:h2:tcp://localhost/~/curso_spring"); ds.setusername("sa"); ds.setpassword(""); return ds; 6
7 Classes de configuração: AppConfigTest package cursospring.revenda_veiculos.config; import public class AppConfigTest { Crie esta classe na source public DataSource datasource(){ DriverManagerDataSource ds = new DriverManagerDataSource(); ds.setdriverclassname("org.h2.driver"); ds.seturl("jdbc:h2:tcp://localhost/~/curso_spring_test"); ds.setusername("sa"); ds.setpassword(""); return ds; 7
8 Entidade genérica package cursospring.revenda_veiculos.dominio; import java.io.serializable; public abstract class Entidade implements Serializable{ private Integer id; public Entidade() { public Entidade(Integer id) { super(); this.id = id; public Integer getid() {... public void setid(integer id) public int hashcode() public boolean equals(object obj) {... Use o assistente do Eclipse para criar os métodos getid, setid, equals e hashcode. 8
9 Entidade Fabricante package cursospring.revenda_veiculos.dominio; public class Fabricante extends Entidade{ private String descricao; public Fabricante() { public Fabricante(Integer id, String descricao) { super(id); this.descricao = descricao; public String getdescricao() {... public void setdescricao(string descricao) {... 9
10 FabricanteRepository package cursospring.revenda_veiculos.dominio; import java.util.list; public interface FabricanteRepository { List<Fabricante> todos(); Fabricante getporid(integer idfabricante); Integer inserir(fabricante f); void atualizar(fabricante f); void excluir(integer idfabricante); 10
11 Spring JDBC Spring oferece classes que, se comparadas ao JDBC puro, tornam mais simples o código de interação com banco de dados. Além disso, provê uma hierarquia de exceções não verificadas que facilitam o tratamento de exceções. Algumas classes: JdbcTemplate: facilita a manipulação de registros (select, insert, update e delete). SimpleJdbcInsert: facilita a inserção de registros. BeanPropertyRowMapper: mapeamento pré-definido entre atributos de um objeto e as colunas da tabela, facilitando as operações de consulta. EmptyResultDataAccessException: exceção indicativa de que uma consulta vazia, ou seja, sem registros. 11
12 Spring JDBC: hierarquia parcial de exceções 12
13 FabricanteDAO (1) package cursospring.revenda_veiculos.dao;... import javax.sql.datasource; import org.springframework.beans.factory.annotation.autowired; import org.springframework.dao.emptyresultdataaccessexception; import org.springframework.jdbc.core.beanpropertyrowmapper; import org.springframework.jdbc.core.jdbctemplate; import org.springframework.jdbc.core.simple.simplejdbcinsert; import org.springframework.stereotype.repository; import cursospring.revenda_veiculos.dominio.fabricante; import public class FabricanteDAO implements FabricanteRepository private DataSource datasource; 13
14 FabricanteDAO (1) package marca import FabricanteDAO javax.sql.datasource; como um bean import Spring org.springframework.beans.factory.annotation.autowired; da camada de indica uma injeção por import org.springframework.dao.emptyresultdataaccessexception; Isto faz com que as exceções tipo. Assim, o contexto do Spring irá import lançadas org.springframework.jdbc.core.beanpropertyrowmapper; por FabricanteDAO sejam buscar um bean do tipo DataSource import encapsuladas org.springframework.jdbc.core.jdbctemplate; em exceções do tipo para injetar neste atributo. import DataAccessExcpetion, org.springframework.jdbc.core.simple.simplejdbcinsert; tornando as import mensagens org.springframework.stereotype.repository; de erro mais claras. import cursospring.revenda_veiculos.dominio.fabricante; import public class FabricanteDAO implements FabricanteRepository private DataSource datasource; 14
15 FabricanteDAO public List<Fabricante> todos() { String sql = "select * from FABRICANTES"; JdbcTemplate jdbctemplate = new JdbcTemplate(dataSource); return jdbctemplate.query(sql, BeanPropertyRowMapper.newInstance(Fabricante.class)); 15
16 FabricanteDAO public List<Fabricante> todos() { String sql = "select * from FABRICANTES"; JdbcTemplate jdbctemplate = new JdbcTemplate(dataSource); return jdbctemplate.query(sql, BeanPropertyRowMapper.newInstance(Fabricante.class)); O método query varre os registros obtidos na consulta e retorna uma lista parametrizada pelo RowMapper<T> utilizado como parâmetro. BeanPropertyRowMapper é uma implementação disponibilizada pelo Spring que casa o nome de um atributo (e.g, numeroplaca) com a coluna de mesmo nome (e.g., NUMEROPLACA ou NUM_PLACA). 16
17 Consulta com JDBC puro try{ Connection con = getconnection(); String sql = "select * from fabricantes"; PreparedStatement prep = con.preparestatement(sql); ResultSet rs = prep.executequery(); List<Fabricante> fabricantes = new ArrayList<Fabricante>(); while(rs.next()){ Fabricante f = new Fabricante(); f.setid(rs.getint("id"); f.setdescricao(rs.getstring("descricao")); fabricantes.add(f); return fabricantes; catch(sqlexception ex){... 17
18 FabricanteDAO public Fabricante getporid(integer idfabricante) { String sql = "select * from FABRICANTES where ID =?"; JdbcTemplate jdbctemplate = new JdbcTemplate(dataSource); try{ return jdbctemplate.queryforobject(sql, BeanPropertyRowMapper.newInstance(Fabricante.class), idfabricante); catch(emptyresultdataaccessexception ex){ return null; 18
19 FabricanteDAO public Integer inserir(fabricante f) { SimpleJdbcInsert jdbcinsert = new SimpleJdbcInsert(dataSource).withTableName("FABRICANTES").usingGeneratedKeyColumns("ID"); Map<String, Object> params = new HashMap<>(); params.put("descricao", f.getdescricao()); Integer id = jdbcinsert.executeandreturnkey(params).intvalue(); f.setid(id); return id; 19
20 FabricanteDAO public void atualizar(fabricante f) { String sql = "update FABRICANTES set DESCRICAO=? where ID=?"; JdbcTemplate jdbctemplate = new JdbcTemplate(dataSource); jdbctemplate.update(sql, f.getdescricao(), public void excluir(integer idfabricante) { String sql = "delete from FABRICANTES where ID =?"; JdbcTemplate jdbctemplate = new JdbcTemplate(dataSource); jdbctemplate.update(sql, idfabricante); 20
21 Atualizando AppConfig Adicionando o pacote cursospring.revenda_veiculos.dao ao contexto do Spring: public class AppConfig {... 21
22 Testes de integração Os testes de integração devem se comunicar com o banco de dados. Para tal, é preciso que o código de testes tenha acesso ao contexto do Spring. Spring oferece suporte aos frameworks JUnit e TestNG. Vamos utilizar os recursos do Eclipse, ao invés do Maven, para execução dos testes JUnit. Portanto, devemos adicionara a biblioteca do JUnit 4 através do build path do projeto. 22
23 Testes de integração Para que uma classe de testes do JUnit tenha acesso ao contexto do Spring, podemos marcá-la ou defini-la como subclasse de AbstractTransactionalJUnit4SpringContextTests. A será utilizada para indicar o profile utilizado nos testes. Dessa forma, os testes de integração utilizarão o DataSource definido em AppConfigTest. 23
24 Scripts SQL Criar os seguintes scripts em src/test/java: create-schema.sql create table FABRICANTES (ID int auto_increment, DESCRICAO varchar(40) unique not null, primary key(id)); insert into FABRICANTES (ID, DESCRICAO) values (1, 'CHEVROLET/GM'); insert into FABRICANTES (ID, DESCRICAO) values (2, 'FIAT'); insert into FABRICANTES (ID, DESCRICAO) values (3, 'FORD'); insert into FABRICANTES (ID, DESCRICAO) values (4, 'VOLKSWAGEN'); insert into FABRICANTES (ID, DESCRICAO) values (5, 'RENAULT'); drop-schema.sql drop table FABRICANTES; 24
25 FabricanteDAOTest (1) package cursospring.revenda_veiculos.dao;... import org.springframework.test.context.activeprofiles; import org.springframework.test.context.contextconfiguration; import org.springframework.test.context.junit4.abstracttransactionaljunit4s public class FabricanteDAOTest extends private FabricanteDAO dao; 25
26 FabricanteDAOTest public void setup(){ executesqlscript("classpath:/create-schema.sql", public void teardown(){ executesqlscript("classpath:/drop-schema.sql", public void testtodos() { List<Fabricante> lista = dao.todos(); Assert.assertEquals(5, lista.size()); 26
27 FabricanteDAOTest public void testgetporid_1(){ Fabricante f = dao.getporid(1); Assert.assertEquals(1, f.getid().intvalue()); Assert.assertEquals("CHEVROLET/GM", public void testgetporid_2(){ Fabricante f = dao.getporid(20); public void testinserir(){ Fabricante f = new Fabricante(null, "TESTE"); Integer id = dao.inserir(f); Assert.assertNotNull(id); 27
28 FabricanteDAOTest public void testatualizar(){ Integer idfabricante = 3; String novadescricao = "NISSAN"; Fabricante f = new Fabricante(idFabricante, novadescricao); dao.atualizar(f); String descricao = jdbctemplate.queryforobject( "select DESCRICAO from FABRICANTES where ID =?", String.class, idfabricante); Assert.assertEquals(novaDescricao, public void testexcluir(){ Integer idfabricante = 2; dao.excluir(idfabricante); Fabricante f = dao.getporid(idfabricante); Assert.assertNull(f); 28
29 DAO com Hibernate Adicionar as dependências. <dependency> <groupid>org.hibernate</groupid> <artifactid>hibernate-entitymanager</artifactid> </dependency> <dependency> <groupid>org.springframework</groupid> <artifactid>spring-orm</artifactid> </dependency> 29
30 Configurando Hibernate: AppConfig (1)... import org.springframework.orm.hibernate4.hibernatetransactionmanager; import org.springframework.orm.hibernate4.localsessionfactorybean; import org.springframework.transaction.platformtransactionmanager; import @EnableTransactionManagement public class AppConfig { 30
31 Configurando Hibernate: AppConfig public LocalSessionFactoryBean sessionfactory(){ LocalSessionFactoryBean sessionfactory = new LocalSessionFactoryBean(); sessionfactory.setdatasource(datasource()); sessionfactory.setpackagestoscan ("cursospring.revenda_veiculos.dominio"); sessionfactory.sethibernateproperties(hibernateproperties()); return sessionfactory; 31
32 Configurando Hibernate: AppConfig (3) private Properties hibernateproperties(){ Properties props = new Properties(); props.put("hibernate.dialect", "org.hibernate.dialect.h2dialect"); props.put("hibernate.show_sql", "true"); props.put("hibernate.format_sql", "true"); return public PlatformTransactionManager transactionmanager(){ return new HibernateTransactionManager( sessionfactory().getobject()); 32
33 Scripts SQL Adicionar instruções: create-schema.sql... create table MODELOS (ID int auto_increment, DESCRICAO varchar(40) not null, ID_FABRICANTE int not null, primary key(id), foreign key (ID_FABRICANTE) references FABRICANTES); insert into MODELOS (ID, DESCRICAO, ID_FABRICANTE) values (1, 'CORSA', 1); insert into MODELOS (ID, DESCRICAO, ID_FABRICANTE) values (2, 'GOL', 4); insert into MODELOS (ID, DESCRICAO, ID_FABRICANTE) values (3, 'PALIO', 2); drop-schema.sql drop table MODELOS;... 33
34 Atualizando classe Entidade... import javax.persistence.generatedvalue; import javax.persistence.generationtype; import javax.persistence.id; import public abstract class Entidade private Integer id;... 34
35 Atualizando classe Fabricante... import javax.persistence.entity; public class Fabricante extends Entidade{... 35
36 Entidade Modelo (1) package cursospring.revenda_veiculos.dominio; import javax.persistence.entity; import javax.persistence.joincolumn; import javax.persistence.manytoone; public class Modelo extends Entidade { private private Fabricante fabricante; 36
37 Entidade Modelo (2) public Modelo() { public Modelo(Integer id, String descricao, Fabricante fabricante) { super(id); this.descricao = descricao; this.fabricante = fabricante; public String getdescricao() {... public void setdescricao(string descricao) {... public Fabricante getfabricante() {... public void setfabricante(fabricante fabricante) {... 37
38 Interface ModeloRepository package cursospring.revenda_veiculos.dominio; import java.util.list; public interface ModeloRepository { List<Modelo> todos(); Modelo getporid(integer idmodelo); Integer inserir(modelo m); void atualizar(modelo m); void excluir(integer idmodelo); 38
39 Classe ModeloDAO (1) package cursospring.revenda_veiculos.dao; import java.util.list; import org.hibernate.query; import org.hibernate.session; import org.hibernate.sessionfactory; import org.springframework.beans.factory.annotation.autowired; import org.springframework.stereotype.repository; import cursospring.revenda_veiculos.dominio.modelo; import public class ModeloDAO implements ModeloRepository private SessionFactory sessionfactory; 39
40 Classe ModeloDAO public List<Modelo> todos() { Session session = sessionfactory.getcurrentsession(); return session.createquery("from public Modelo getporid(integer idmodelo) { Session session = sessionfactory.getcurrentsession(); return (Modelo)session.get(Modelo.class, public Integer inserir(modelo m) { sessionfactory.getcurrentsession().save(m); return m.getid(); 40
41 Classe ModeloDAO public void atualizar(modelo m) { public void excluir(integer idmodelo) { String hql = "delete Modelo where id = :idmodelo"; Session session = sessionfactory.getcurrentsession(); Query q = session.createquery(hql).setparameter("idmodelo", idmodelo); q.executeupdate(); 41
42 Classe ModeloDAOTest (1) package public class ModeloDAOTest extends private ModeloDAO private SessionFactory sessionfactory; 42
43 Classe ModeloDAOTest public void testtodos() { List<Modelo> lista = dao.todos(); Assert.assertEquals(3, public void testgetporid_1(){ Integer idmodelo = 2; Modelo m = dao.getporid(idmodelo); Assert.assertEquals(idModelo, m.getid()); Assert.assertEquals("GOL", public void testgetporid_2(){ Modelo m = dao.getporid(20); Assert.assertNull(m); 43
44 Classe ModeloDAOTest public void testinserir(){ Fabricante f = new Fabricante(1, null); Modelo m = new Modelo(null, "TESTE", f); Integer id = dao.inserir(m); public void testatualizar(){ Integer idmodelo = 1; String novadescricao = "CELTA"; Fabricante f = new Fabricante(1, null); Modelo m = new Modelo(idModelo, novadescricao, f); dao.atualizar(m); Modelo m2 = (Modelo)sessionFactory.getCurrentSession().get(Modelo.class, idmodelo); Assert.assertEquals(novaDescricao, m2.getdescricao()); 44
45 Classe ModeloDAOTest public void testexcluir(){ Integer idmodelo = 3; dao.excluir(idmodelo); Modelo m = dao.getporid(idmodelo); public void setup(){ executesqlscript("classpath:/create-schema.sql", public void teardown(){ executesqlscript("classpath:/drop-schema.sql", false); 45
46 Referências Deinum, Marten et al. Spring Recipes: a problemsolution approach, 3ª ed. Apress, Johnson, Rod et al. Spring Framework Reference Documentation, release. Disponível em < -framework-reference/html/> Souza, Alberto. Spring MVC: domine o principal framework web Java. São Paulo: Casa do Código,
47 Instituto Federal de Educação, Ciência e Tecnologia do Rio Grande do Norte Campus Natal Central Diretoria Acadêmica de Gestão e Tecnologia da Informação Curso de formação em Spring Framework 4 Parte 02 acesso a dados e testes de integração Autor: Alexandre Gomes de Lima Natal, outubro de
Spring Framework. Parte 04 transações
Spring Framework Parte 04 transações Spring e transações O uso de transações é recorrente no desenvolvimento de sistema corporativos. Spring provê suporte ao controle de transações de duas maneiras: programática
Leia maisBanco de dados POO Márcio Delamaro. Programação Orientada a Objetos Prof Marcio Delamaro ICMC/USP
Banco de dados POO Márcio Delamaro 1/37 Objetivo Nesta aula vamos dar uma breve introdução do que é um Banco de dados relacional Como acessar um banco de dados usando Java 2/37 O que é Bancos de dados
Leia maisCriar um projeto ->. Criar no pacote entity a classe Funcionario com os atributos(idfuncionario, nome, sexo, ativo, salario). Criar construtor vazio, o construtor cheio, o tostring com todos os atributos
Leia maisVamos falar de Hibernate?
Vamos falar de Hibernate? Hibernate é um framework ORM (Object-Relationship Management) muito bacana que nos permite ter muita produtividade na manipulação de objetos a serem persistidos no banco de dados.
Leia maisLista de exercícios I - RESPOSTAS Servlets e banco de dados
www.posse.ueg.br Home Page: http://www.posse.ueg.br/index.php/conexao-ueg/meuperfil/userprofile/ronaldo Dado o diagrama de classe abaixo: Lista de exercícios I - RESPOSTAS Servlets e banco de dados 1.
Leia maisAULA 07 HIBERNATE. Ao término desse capítulo você terá aprendido: Fundamentos do MVC Estrutura dos pacotes no NetBeans
AULA 07 HIBERNATE Ao término desse capítulo você terá aprendido: Fundamentos do MVC Estrutura dos pacotes no NetBeans O JDBC é uma das maneiras mais diretas para desenvolver um aplicativo Java que interaja
Leia maisAula Prática JBCD - Introdução
Aula Prática JBCD - Introdução Paulo Ricardo Lisboa de Almeida 1 Instanciando a aplicação Clone o projeto da aula passada com o Git (disponível no site da disciplina) Suba o banco de dados Crie as tabelas
Leia maisAgenda. Instalação e configuração. Processamento de comandos SQL com JDBC. Driver JDBC Criação da classe de conexão
Agenda Instalação e configuração Driver JDBC Criação da classe de conexão Processamento de comandos SQL com JDBC Gerenciamento de conexões Execução simples de consultas Tratamento de exceções Instalação
Leia maisDe forma simples, para a execução de comandos SQL com JDBC, precisa-se da instancia de três classes Java. São elas: Nome da classe Função
.1 JDBC A linguagem Java possui classes que permitem a com um banco de dados. Essas classes fazem parte do pacote JDBC (Java Database Connectivity), uma API (Application Program Interface) que permite
Leia maisExercícios de fixação: Listas
Exercícios de fixação: Listas Exercício 1 : Inlcuindo o driver ao seu projeto 1. No Eclipse, vamos criar um novo projeto chamado CursoJavaJDBC. 2. Copie o driver do MySQL para o seu projeto. a. localize
Leia maisPROJETO ECLIPSE: Estrutura do projeto: (Dynamic Web Project) LIBS: Java WebDeveloper. Prof. Edson Belém
PROJETO ECLIPSE: Estrutura do projeto: (Dynamic Web Project) LIBS: antlr-2.7.7.jar aspectjweaver-1.8.13.jar attoparser-2.0.4.release.jar classmate-1.3.4.jar dom4j-1.6.1.jar hibernate-commons-annotations-5.0.1.final.jar
Leia maisSpring Framework. Parte 01 introdução e primeiros passos
Spring Framework Parte 01 introdução e primeiros passos O que é Spring Framework? É um framework de apoio ao desenvolvimento de aplicações corporativas em Java que surgiu como uma alternativa à complexa
Leia maisMapeando Relacionamentos Entre Classes com Anotações Hibernate Por: Raphaela Galhardo Fernandes Gleydson de Azevedo F. Lima
Classes com Anotações Hibernate Por: Raphaela Galhardo Fernandes Gleydson de Azevedo F. Lima Resumo Este tutorial destina-se a apresentar alguns exemplos de mapeamentos de associações/relacionamentos entre
Leia maisIntrodução ao Hibernate. Hibernate Mapeamento com Anotação. Projeto Desktop Uma Classe. Objetivo. Programas Utilizados
Introdução ao Hibernate Há dois mundos diferentes de software: um é o mundo Java, em que nada além de objetos são conhecidos, enquanto o outro é o mundo do banco de dados relacional, em que os dados reinam.
Leia maisDesenvolvimento Web com Java. Sérgio Lopes Caelum -
Desenvolvimento Web com Java Sérgio Lopes Caelum - http://www.caelum.com.br sergio.lopes@caelum.com.br Sérgio Lopes Desenvolvedor Java desde 2002 Instrutor de Java pela Caelum Trabalho com Web e Celulares
Leia maisTutorial Hibernate + Vraptor para projetos Restful.
Tutorial Hibernate + Vraptor para projetos Restful. Configurando o Projeto Passo 1 Baixe o Eclipse IDE for Java EE Developers: https://www.eclipse.org/downloads. Passo 2 Vamos criar um novo projeto Maven,
Leia maisUtilizando Swing com Hibernate
Programando com Java Artigo http://mballem.wordpress.com/ Utilizando Swing com Hibernate Utilizando a SessionFactory Autor Marcio Ballem: é formado em Sistemas de Informação e possui certificação Oracle
Leia maisDW2 Desenvolvimento Web 2
DW2 Desenvolvimento Web 2 Prof. Dr. Gustavo Poli IFSP - São Carlos : 2013.08.26 Avaliação Avaliação Provas: 60% Trabalho: 20% Seminários: 10% Lista de Exercícios: 10% Avaliação Provas: 60% Avaliação Provas:
Leia maisTUTORIAL INTEGRAÇÃO SPRING, HIBERNATE E MYSQL
TUTORIAL INTEGRAÇÃO SPRING, HIBERNATE E MYSQL Nesse tutorial será mostrado como integrar o uso do Spring MVC com Hibernate e MySQL para desenvolver aplicações web. Será utilizado o Spring Tools Suite,
Leia maisDesenvolvimento para Web em Java. Profa Andréa Schwertner Charão DLSC/CT/UFSM Lamarck Heinsch Mestrando PPGI/CT/UFSM
Desenvolvimento para Web em Java Profa Andréa Schwertner Charão DLSC/CT/UFSM Lamarck Heinsch Mestrando PPGI/CT/UFSM Tecnologias Web Java (OO) Fonte: Wikipedia Tecnologias Web em Java Java SE: Applets Java
Leia maisPOO Programação Orientada a Objetos
POO Programação Orientada a Objetos Mãos à Obra Jefferson S. Silva IFET - PI Copyright Jefferson S. Silva Slide 1 O sistema Nossa empresa foi contratada por uma pequena gravadora de música que deseja entrar
Leia maisEvento.java. package dominio;
Evento.java package dominio; import java.util.date; import java.util.set; import javax.persistence.entity; import javax.persistence.fetchtype; import javax.persistence.generatedvalue; import javax.persistence.generationtype;
Leia maisConexão do Banco de Dados localhost
Conexão do Banco de Dados localhost Ligar Xampp e Instalar Workbench Observe que o MySQL direciona para a porta 3306, pois estamos trabalhando no computador local. É necessário ligar o MySQL no XAMPP.
Leia maisSpring Framework. Parte 05 Spring Security
Spring Framework Parte 05 Spring Security Introdução Spring Security é um framework para facilitar a incorporação de funcionalidades relativas ao controle de acesso necessárias às aplicações. Possui recursos
Leia maisTransacções. Vitor Vaz da Silva
Transacções Vitor Vaz da Silva Em produto nome é único A quantidade é decrescida do mesmo valor que acresce a gastou create table Cozinha( id int IDENTITY(5,2), nome varchar(20), primary key(id) ) create
Leia maisSpring Framework. Parte 03 Spring MVC
Spring Framework Parte 03 Spring MVC Spring MVC Módulo do Spring Framework que permite o desenvolvimento de aplicações web baseadas em ações (action based) bem como o desenvolvimento de serviços REST.
Leia maisJDBC. Siga as instruções para instalar o banco de dados H2 e criar a tabela Alunos.
JDBC CRIANDO O BANCO DE DADOS: Siga as instruções para instalar o banco de dados H2 e criar a tabela Alunos. CRIANDO O PROJETO JAVA PARA DESKTOP: Crie um projeto Java chamado Prograd Crie um pacote chamado
Leia maisDisciplina: Banco de Dados Tema: SQL Parte 2
Disciplina: Banco de Dados Tema: SQL Parte 2 PROFESSOR: DANILO MONTEIRO EMAIL: PROF.DANILO.MONTEIRO@GMAIL.COM O que foi visto na aula passada? create database Drop database Create table Drop table PROF.DANILO.MONTEIRO@GMAIL.COM
Leia maisEste Tutorial básico irá nos orientar como salvar e carregar uma imagem a partir de banco de dados (MySQL), utilizando Hibernate e Java.
Este Tutorial básico irá nos orientar como salvar e carregar uma imagem a partir de banco de dados (MySQL), utilizando Hibernate e Java. Requisitos: Eclipse IDE ( ou qualquer IDE com Java); MySQL (você
Leia maisO modelo relacional encontra-se padronizado pela indústria de informática. Ele é chamado de
Introdução O modelo relacional encontra-se padronizado pela indústria de informática. Ele é chamado de padrão SQL (Structured Query Language). O padrão SQL define precisamente uma interface SQL para a
Leia maisProgramação Orientada a Objetos JDBC Java Database Connectivity
Especialização em Engenharia de Software Programação Orientada a Objetos JDBC Java Database Connectivity Sérgio Soares scbs@cin.ufpe.br Objetivos Apresentar os conceitos básicos da especificação de Java
Leia maisManipulação de Banco de Dados com Java. Ms. Bruno Crestani Calegaro (bruno.calegaro@ifsc.edu.br) Maio/ 2015
Manipulação de Banco de Dados com Java Ms. Bruno Crestani Calegaro (bruno.calegaro@ifsc.edu.br) Maio/ 2015 Acesso a um SGBD Em sistemas mais simples o uso de arquivos pode ser usado mas para aplicações
Leia maisDATA ACCESS OBJECT (DAO)
Universidade de São Paulo, Instituto de Ciências Matemáticas e de Computação DATA ACCESS OBJECT (DAO) SSC 621: Análise e Projeto Orientados a Objetos Prof. Dr. Lucas Bueno R. Oliveira 2º Semestre 2015
Leia maisJDBC. Prof. Márcio Bueno (poonoite@marciobueno.com)
JDBC Prof. Márcio Bueno (poonoite@marciobueno.com) JBDC Java Database Connectivity ou JDBC é um conjunto de classes e interfaces (API) escritas em Java que faz o envio de instruções SQL para qualquer banco
Leia maisFundamentos de Banco de Dados Postgre com Sql
Fundamentos de Banco de Dados Postgre com Sql Prof. Luiz Claudio Ferreira de Souza Prof. Luiz Claudio F. de Souza 1 Obtenha os Slids no endereço www.luizclaudiofs.blogspot.com Prof. Luiz Claudio F. de
Leia maisJava - Conexão ao Banco de Dados usando JDBC
Java - Conexão ao Banco de Dados usando JDBC 1. Criar o modelo no DBDesigner, como mostrado a seguir. Salvar o script de criação da tabela. 2. Criar o esquema e as tabelas no MySQL (Pode usar o MySQL Query
Leia maisIntegrando Java com Banco de Dados
Especialização em Engenharia de Software Programação Orientada a Objetos JDBC Java Database Connectivity Sérgio Soares scbs@cin.ufpe.br Objetivos Apresentar os conceitos básicos da especificação de Java
Leia maisAula 1 Acesso a Banco de Dados
Laboratório de Banco de Dados Aula 1 Acesso a Banco de Dados Prof. Josenildo Silva jcsilva@ifma.edu.br Introdução O JDBC (Java Database Connectivity) foi criado com o intuito de fornecer aos programadores
Leia maisLeonardo Gresta Paulino Murta leomurta@gmail.com
Leonardo Gresta Paulino Murta leomurta@gmail.com O Que é JDBC? API de acesso a banco de dados relacional do Java Faz uso do driver provido pelo banco de dados Roda SQL (create, insert, update, etc.) no
Leia maisTECNOLOGIAS DE ACESSO A BASES DE DADOS. Profª Ana Paula Cação Maio de 2018
PROGRAMAÇÃO E SISTEMAS DE INFORMAÇÃO MÓDULO 17-A TECNOLOGIAS DE ACESSO A BASES DE DADOS Profª Ana Paula Cação Maio de 2018 CONTEÚDOS 1. Métodos de Ligação a Bases de Dados 2. Arquitectura de Componentes
Leia maisUFG - Instituto de Informática
UFG - Instituto de Informática Curso: Sistemas de Informação Arquitetura de Software Prof.: Fabrízzio A A M N Soares professor.fabrizzio@gmail.com Aula 6.1 Revisão de Banco de Dados (SQL e acesso via aplicativo)
Leia maisComo criar um banco de dados usando o mysql
Como criar um banco de dados usando o mysql 1º Passo: Tenha instalado em seu computador o software XAMPP. Clique aqui para fazer o download. 2º Passo: O XAMPP faz a instalação normal, apenas clicando next,
Leia maisINE 5612 Professor: Frank Siqueira. Leonardo Silva Jean Ercilio Thiago
INE 5612 Professor: Frank Siqueira Alunos: Gustavo de Geus Leonardo Silva Jean Ercilio Thiago DESENVOLVEDORES JAVA EM TODO MUNDO LIDER GAVIN KING JBOSS MANTEVE O SUPORTE História Hibernate foi criado por
Leia maisArmazenamento de Dados
Persistência... Armazenamento de Dados Diversas opções para armazenar dados da aplicação. A escolha de acordo com a necessidade: dados privados ou públicos, quantidade de espaço necessário, etc. 2 Armazenamento
Leia maisProjeto webservicejax
Projeto webservicejax Estrutura do projeto... package servicesxml; import javax.jws.webmethod; import javax.jws.webservice; //Aponta para o JDK @WebService public class ServerCalculo { //padrão Wsdl (tem
Leia maisJPA Com Hibernate. Paulo Ricardo Lisboa de Almeida. 1 Universidade Positivo
JPA Com Hibernate Paulo Ricardo Lisboa de Almeida 1 Modelo Necessário Modelo Necessário 2 JPA Mapeamento Direto entre as classes e o banco de dados Orientação a objetos para modelo relacional Feito através
Leia maisBCD29008 Banco de dados
BCD29008 Banco de dados Linguagem SQL Prof. Emerson Ribeiro de Mello Instituto Federal de Santa Catarina IFSC campus São José mello@ifsc.edu.br http://docente.ifsc.edu.br/mello/bcd 21 de agosto de 2017
Leia maisFrancisco Roeder. Orientador: Prof. Adilson Vahldick
Francisco Roeder AGRUPAMENTO E ORDENAÇÃO NAS CONSULTAS EM BANCOS DE DADOS DISTRIBUÍDOS ATRAVÉS DE DRIVER JDBC Orientador: Prof. Adilson Vahldick Roteiro da apresentação Introdução Objetivos Fundamentação
Leia maisHerança. Prof. Fernando V. Paulovich 23 de agosto de 2010
Herança SCC0604 - Programação Orientada a Objetos Prof. Fernando V. Paulovich http://www.icmc.usp.br/~paulovic paulovic@icmc.usp.br Instituto de Ciências Matemáticas e de Computação(ICMC) Universidade
Leia maisPersistência de Objetos no SGBD PostgreSQL, Utilizando as APIs: JDBC, JDK, Swing e Design Patteners DAO.
Persistência de Objetos no SGBD PostgreSQL, Utilizando as APIs: JDBC, JDK, Swing e Design Patteners DAO. Robson Adão Fagundes http://robsonfagundes.blogspot.com/ Mini curso Desenvolvimento de aplicação
Leia maisBanco de Dados. Professora: Luciana Faria
Banco de Dados Professora: Luciana Faria Introdução ao linguagem é a SQL (Structured Query Language) Linguagem de Consulta Estruturada Para se utilizar, administrar, e trabalhar com um banco de dados é
Leia maisHibernate. Mapeamento Objeto-Relacional. Prof. Anselmo Cardoso Paiva Prof. Geraldo Braz Junior
Hibernate Mapeamento Objeto-Relacional Baseado nas notas de aula de João Dalyson e Raphaela Galhardo Fernandes Prof. Anselmo Cardoso Paiva Prof. Geraldo Braz Junior Objetivos Aprender MOR usando Hibernate
Leia maisBanco de Dados. Banco de Dados Parte 2. Alcides Pamplona alcides.pamplona@gmail.com. Alcides Pamplona Linguagem de Programação CESBD 2010
Alcides Pamplona Linguagem de Programação CESBD 2010 Parte 2 Alcides Pamplona alcides.pamplona@gmail.com Tópicos API JDBC Utilizando JDBC Statement PreparedStatement Controle de Transação Mapeamento Objeto-Relacional
Leia maisProgramação para Dispositivos Móveis
Prof. MSc. Flávio Barros flavioifma@gmail.com www.flaviobarros.com.br Programação para Dispositivos Móveis Aula: CRUD Agenda com SQLite Parte II Caxias - MA Projeto Android Estrutura Activity MainActivity.java
Leia maisAPI JDBC. Paulo Ricardo Lisboa de Almeida. 1 Universidade Positivo
API JDBC Paulo Ricardo Lisboa de Almeida 1 JDBC JDBC Java Database Connectivity API Java para conexões com bancos de dados Encontrada dentro de java.sql 2 JDBC Necessário driver JDBC do banco Classes concretas
Leia maisCurso Superior de Banco de Dados
Curso Superior de Banco de Dados Disciplina: Spring Prof. Emanuel Mineda Carneiro emanuel.mineda@fatec.sp.gov.br São José dos Campos - SP Dependências do Jeito Antigo Injeção de Dependência Inversão de
Leia maisLaboratório de Banco de Dados Aula 1 Acesso a Banco de Dados. Prof. Josenildo Silva jcsilva@ifma.edu.br
Laboratório de Banco de Dados Aula 1 Acesso a Banco de Dados Prof. Josenildo Silva jcsilva@ifma.edu.br Introdução O JDBC (Java Database Connectivity) foi criado com o intuito de fornecer aos programadores
Leia maisSQL Básica. Andre Noel
SQL Básica Andre Noel Introdução A SQL é um dos principais motivos de sucesso dos BDs relacionais comerciais Introdução A SQL é um dos principais motivos de sucesso dos BDs relacionais comerciais Se tornou
Leia maisMecanismo de Persistência
Hibernate Mecanismo de Persistência Marco Antonio, Arquiteto de Software TJDF ma@marcoreis.eti.br Dezembro/2005 Hibernate Mecanismo de persistência (operações em banco como inserir, atualizar, consultar
Leia maisROOM: Biblioteca de Mapeamento Objeto-Relacional. Prof. Fellipe Aleixo
ROOM: Biblioteca de Mapeamento Objeto-Relacional Prof. Fellipe Aleixo (fellipe.aleixo@ifrn.edu.br) Por que? Antes de mais nada: por que precisamos de persistência no disposi
Leia maisJava na WEB Banco de Dados
1 Java na WEB Banco de Dados Objetivo: Ao final da aula o aluno será capaz de: Criar aplicações JSP com acesso ao Banco de Dados MySql Configurar o TomCat para acessar o MySql. Não é Objetivo: Ao final
Leia maisDefinição do esquema da base de dados. o esquema da BD é composto pelas definições de todas as tabelas da BD.
Definição do esquema da base de dados o esquema da BD é composto pelas definições de todas as tabelas da BD. existem outros elementos (views, índices, triggers) que também fazem parte do esquema e que
Leia maisCurso de Java. Acesso a banco de dados através de JDBC. Todos os direitos reservados Klais
Curso de Java Acesso a banco de dados através de JDBC Todos os direitos reservados Klais Java e SGBD s SQL é a linguagem padrão para acesso a banco de dados e se estabeleceu como tal no mercado. SQL no
Leia maisParticionamento de Banco com o Hibernate Shards
Ademir Constantino Filho (ademirconstantino@gmail.com): é bacharel em Sistemas de Informação e atua com Java desde 2002. Atualmente atua com desenvolvimento, consultoria e como instrutor para treinamentos.
Leia maisDesvendando o Hibernate
Passos Iniciais Desvendando o Hibernate 1. Repetir os passos do tutorial "CRUD com Hibernate" 2. Adicionar o driver JDBC do banco Esquematizando Fontes dos Arquivos WEB-INF\classes\hibernate.cfg.xml
Leia maisProgramação Orientada a Objetos
Programação Orientada a Objetos Pacotes e Encapsulamento Msc. Paulo de Tarso F. Júnior 1 Introdução Permite o agrupamento de classes em uma coleção chamada pacote Um pacote é uma coleção de classes e interfaces
Leia maisJava DataBase Connectivity - JDBC. Ramon Lopes Embaixador de Campus Sun - UFBA
Java DataBase Connectivity - JDBC Ramon Lopes Embaixador de Campus Sun - UFBA 1 Agenda O que é um BD? Introdução SQL JDBC Padrões de Projetos Projeto Final Sun Confidential: Internal Only 2 O que é um
Leia maisTestes Automatizados e Bancos de Dados
Testes Automatizados e Bancos de Dados Paulo Cheque (paulocheque@agilcoop.org.br) Cursos de Verão 2010 Licença: Creative Commons: Attribution Share Alike 3.0 Unported http://creativecommons.org/licenses/by
Leia maisJPA: Persistência padronizada em Java
JPA: Persistência padronizada em Java FLÁVIO HENRIQUE CURTE Bacharel em Engenharia de Computação flaviocurte.java@gmail.com Programação Orientada a Objetos X Banco de Dados Relacionais = Paradigmas diferentes
Leia maisPONTIFÍCIA UNIVERSIDADE CATÓLICA DE GOIÁS Departamento de Computação Curso de Análise e Desenvolvimento de Sistemas Modelagem Conceitual de Dados
CONEXÃO COM BANCO DE DADOS Para se conectar com um banco de dados deve-se utilizar uma biblioteca da linguagem de programação Java, denominada de JDBC (Java DataBase Connection). Para isso deve-se utilizar
Leia maisO JasperReports Studio é uma ferramenta de software que oferece um ambiente visual para criar relatórios para a plataforma Java. É open source.
Introdução ao JasperReports O JasperReports Studio é uma ferramenta de software que oferece um ambiente visual para criar relatórios para a plataforma Java. É open source. Para efetuar o seu download acesse
Leia maisBanco de Dados I Introdução SQL
Banco de Dados I Introdução SQL Frederico Queiroga fredericoqueiroga@gmail.com https://sites.google.com/site/fredericoqueiroga/ Linguagem SQL Aspectos Gerais: Independência do fabricante: Está incorporada
Leia maisJ550 Integração com Bancos de Dados
J550 Integração com Bancos de Dados Helder da Rocha (helder@acm.org) www.argonavis.com.br 1 Objetivos Este módulo apresenta estratégias para conectar servlets com a camada de dados usando um DAO - Data
Leia maisO JUnit permite a realização de testes de unidades, conhecidos como "caixa branca", facilitando assim a correção de métodos e objetos.
JUnit O JUnit é um framework open-source, criado por Erich Gamma e Kent Beck, com suporte à criação de testes automatizados na linguagem de programação Java. Esse framework facilita a criação de código
Leia maisTutorial JAVA Web com JSF 2.0, Facelts, Hibernate 3.5 com JPA 2.0, Spring 3.0 e PrimeFaces 2.2.1
Tutorial JAVA Web com JSF 2.0, Facelts, Hibernate 3.5 com JPA 2.0, Spring 3.0 e PrimeFaces 2.2.1 Autor: Diego Carlos Rezende Graduando em Sistemas de Informação Universidade Estadual de Goiás - UEG UnUCET
Leia maisTestes Automatizados com Banco de Dados
Testes Automatizados com Banco de Dados Helves Domingues e Paulo Cheque 12/02/2009 Verão2009 2 Por quê testar BDs? Dados => $ Lógica Stored Procedures Triggers SQL Design => Manutenção e Evolução Mapeamento
Leia maisIntrodução. Configuração. Padrão POJO. Framework Pesistência de. Mapeamento Annotation. Objetos. Persistência. Java. Objetos. Prof.
Introdução Configuração Padrão POJO Mapeamento Annotation Persistência Objetos Framework Pesistência de Objetos Java Prof. Enzo Seraphim O que é? Framework persistência de Objetos é uma moderna solução
Leia maisPLATAFORMA SIGA RIO DAS VELHAS MANUAL DO CÓDIGO FONTE
PLATAFORMA SIGA RIO DAS VELHAS MANUAL DO CÓDIGO FONTE ATO CONVOCATÓRIO Nº 006/2016 CONTRATO DE GESTÃO IGAM Nº 002/IGAM/2012 09/2017 1 PLATAFORMA SIGA RIO DAS VELHAS MANUAL DO CÓDIGO FONTE ATO CONVOCATÓRIO
Leia maisTutorial sobre criação de regras de negócio para Android. Igor Rafael Santos da Silva
Tutorial sobre criação de regras de negócio para Android Igor Rafael Santos da Silva Este tutorial dará atenção à criação de regras de negócio em um ambiente de desenvolvimento Android. Primeiramente,
Leia maisBanco de Dados. Banco de Dados. Alcides Pamplona alcides.pamplona@gmail.com. Alcides Pamplona Linguagem de Programação CESBD 2010
Alcides Pamplona Linguagem de Programação CESBD 2010 Alcides Pamplona alcides.pamplona@gmail.com Tópicos API JDBC Utilizando JDBC Statement PreparedStatement Mapeamento Objeto-Relacional 2 API JDBC 3 API
Leia maisAndroid e Bancos de Dados
(Usando o SQLite) Programação de Dispositivos Móveis Mauro Lopes Carvalho Silva Professor EBTT DAI Departamento de Informática Campus Monte Castelo Instituto Federal de Educação Ciência e Tecnologia do
Leia maisAndroid Banco de Dados. Ivan Nicoli
Android Banco de Dados Ivan Nicoli SQLite O Android tem suporte ao SQLite (http://www.sqlite.org), um leve e poderoso banco de dados. Cada aplicação pode criar um ou mais banco de dados, que ficam localizados
Leia maisFuncionamento da Aplicação. Simulações do funcionamento. Simulação SAC
Funcionamento da Aplicação Simulações do funcionamento Simulação SAC Simulação PRICE Simulação Cartão de Crédito Simulação Deposito Simulação parcela mínima Simulação Parcelamento máximo Classe: ConnectionFactory;
Leia maisBanco de Dados. -Aprendendo conceitos -Usando o SQL Conf para: -Conectar no banco de dados -Criar, alterar, excluir e consultar estruturas de tabelas
Banco de Dados -Aprendendo conceitos -Usando o SQL Conf para: -Conectar no banco de dados -Criar, alterar, excluir e consultar estruturas de tabelas O que é banco de dados? São conjuntos de registros dispostos
Leia maisProgramação Orientada a Objetos II
Programação Orientada a Objetos II Prof. Walter Gima walter.gima@anhanguera.com 1 Plano de Ensino e Aprendizagem 2 Java Conexão banco de dados 3 Agenda Conexão Banco de Dados Padrão DAO (Data Access Object)
Leia maisWeb Services. EclipseSDK/DB2 Construindo/Consumindo Serviços
Web Services EclipseSDK/DB2 Construindo/Consumindo Serviços Mario C. Ponciano a.k.a: Razec http://razec.wordpress.com mrazec@gmail.com 28 de Novembro 2009 2 Sumário Objetivo... 3 Requisitos... 3 Desenvolvimento...
Leia maisAplicação MVC com Class Library
Aplicação MVC com Class Library Vamos considerar uma Class Library com o modelo de dados e com acesso à base de dados através do Entity Framework. Uma Class Library nunca funciona sozinha. Vamos usá-la
Leia maisUma solução possível para garantir, em ambiente APEX, a consistência duma estrutura ISA, total e disjuntiva.
Uma solução possível para garantir, em ambiente APEX, a consistência duma estrutura ISA, total e disjuntiva. Seja então o conjunto de entidades pessoa, com os atributos bi_pessoa, nome_pessoa e morada_pessoa,
Leia maisJDBC (Java Database Connectivity) Padrão de Projeto DAO (Data Access Object) Roteiro para instalação do banco de dados e do driver JDBC
JDBC (Java Database Connectivity) Padrão de Projeto DAO (Data Access Object) Roteiro para instalação do banco de dados e do driver JDBC Java Database Connectivity Provê acesso SQL ao banco de dados Principais
Leia maisHerança entre Entidades JPA. Prof. Fellipe Aleixo
Herança entre Entidades JPA Prof. Fellipe Aleixo fellipe.aleixo@ifrn.edu.br ORM e Herança Para estar completo o mecanismo de mapeamento objeto-relacional precisa suportar o conceito de herança da orientação
Leia maisJPA Java Persistence API. Prof. Ramon Chiara
JPA Java Persistence API Prof. Ramon Chiara JDBC Java DataBase Connectivity Acesso a bancos de dados Independência de banco de dados JDBC Aplicação JDBC Driver Banco de Dados JDBC Java DataBase Connectivity
Leia maisTUTORIAL DE INTRODUÇÃO AO CEWOLF
1 TUTORIAL DE INTRODUÇÃO AO CEWOLF CRIANDO GRÁFICOS COM JSP, CEWOLF/JFREECHART E MYSQL 1. Introdução O Cewolf (http://cewolf.sourceforge.net/) é uma biblioteca que facilita a criação de gráficos dinâmicos
Leia maisDemoiselle Tutorial Documentation
Demoiselle Tutorial Documentation Release 1.0.0 Demoiselle Framework January 29, 2010 CONTENTS 1 Arquitetura 3 1.1 Laboratório Arquitetura e Configuração................................ 3 2 Persistência
Leia maisPersistência BD / drivers
Instituto Federal de Minas Gerais Campus Ponte Nova Persistência BD / drivers Professor: Saulo Henrique Cabral Silva Persistência Persistir é o processo de armazenamento de dados. A biblioteca de persistência
Leia maisProgramação WEB (JSP + Banco Dados) Eng. Computação Prof. Rodrigo Rocha http://www.materialdeaula.com.br
Programação WEB (JSP + Banco Dados) Eng. Computação Prof. Rodrigo Rocha http://www.materialdeaula.com.br JSP (Java Server Pages) - JavaServer Pages (JSP) - Tecnologia de programação serverside - Permite
Leia maisBanco de Dados. Banco de Dados
Banco de Dados Um banco de dados é um conjunto de informações organizadas de forma regular em tabelas semelhantes a matrizes de duas dimensões que contém linhas e colunas (Estilo planilha do Microsoft
Leia maisnome = n; cargo = c; salario = s; public void print() { System.out.println(nome cargo salario); public void aumento( double fator){
UNIVERSIDADE FEDERAL DE SANTA CATARINA - Departamento de Automação e Sistemas PROGRAMAÇÃO DE SISTEMAS AUTOMATIZADOS - 2016/2 - P2 Nome: ------------------------------------------------------------------------------------------------------
Leia maisManipulação de Dados com SQL
Manipulação de Dados com SQL Wendel Melo Faculdade de Computação Universidade Federal de Uberlândia www.facom.ufu.br/~wendelmelo Banco de Dados I manipulação de dados com SQL 2 Structured Query Language
Leia maisBANCO DE DADOS. info 3º ano. Prof. Diemesleno Souza Carvalho diemesleno@iftm.edu.br www.diemesleno.com.br
BANCO DE DADOS info 3º ano Prof. Diemesleno Souza Carvalho diemesleno@iftm.edu.br www.diemesleno.com.br Na última aula estudamos Unidade 4 - Projeto Lógico Normalização; Dicionário de Dados. Arquitetura
Leia mais