Persistência de dados com o
|
|
- Ana Vitória Duarte Bicalho
- 8 Há anos
- Visualizações:
Transcrição
1 Persistência de dados com o Faculdade Zacarias de Góes Sistemas de Informação Linguagem de Programação Orientada a Objetos
2 1 INDICE 1. INTRODUÇÃO AO HIBERNATE MAPEAMENTO OBJETO-RELACIONAL POJO CONFIGURAÇÃO HIBERNATE.CFG.XML HBM.XML DIALETOS SUPORTADOS HQL TIPOS DE DADOS 7 2. CRIANDO UMA SIMPLES APLICAÇÃO A INTERFACE GRÁFICA O BANCO DE DADOS MAPEANDO O BANCO DE DADOS CONFIGURANDO O HIBERNATE A CLASSE DA SESSÃO A CLASSE DE PERSISTÊNCIA IMPLEMENTANDO AS CLASSES RODANDO A APLICAÇÃO REFERÊNCIAS 20
3 2 1. INTRODUÇÃO AO HIBERNATE O Hibernate é um Java FrameWork responsável por realizar a persistência dos dados no Banco de Dados utilizando o Mapeamento Objeto-Relacional. Ele funciona como um MiddleWare, uma camada que está entre a aplicação e o Banco de Dados, servindo como um intermediário e diminuindo a complexidade da programação, reduzindo substancialmente o tempo de desenvolvimento. Ele facilita o mapeamento dos atributos entre uma base tradicional de dados relacionais e o modelo objeto de uma aplicação, mediante o uso de arquivos XML para estabelecer esta relação. Sua principal característica é a transformação das classes (POJO) e tipos de dados do Java para tabelas e tipos de dados SQL. O Hibernate gera as chamadas SQL (Select, Insert, Join, Triggers...) e libera o desenvolvedor do trabalho manual da conversão dos dados resultante, mantendo o programa portável para qualquer banco de dados SQL, porém causando um pequeno aumento no tempo de execução. Demonstração do papel do Hibernate em uma aplicação 1.1. MAPEAMENTO OBJETO-RELACIONAL O Object-Relational Mapping (ORM), em português, Mapeamento Objeto- Relacional, é uma técnica de desenvolvimento utilizada para facilitar a comunicação da programação orientada aos objetos com os bancos de dados relacionais. As tabelas do banco de dados são representadas através de classes e os registros de cada tabela são representados como instâncias das classes. Com esta técnica aliada ao Hibernate, o programador não precisa se preocupar com os comandos em linguagem SQL, apenas irá utilizar uma interface de programação simples que faz todo o trabalho de persistência.
4 3 O Hibernate utiliza duas técnicas de mapeamento: arquivos XML separados da aplicação e Annotations (Anotações) que estão presentes no próprio código. Iremos abordar apenas o uso de arquivos XML POJO POJO significa Plain Old Java Objects, a tradução mais próxima para o português seria: O Simples e Velho Objeto Java. Seu objetivo é criar classes o mais simples possível, seguindo um padrão já definido, que tornam suas instâncias "genéricas" para todo o programa e diversos FrameWorks que se beneficiam desta técnica. Uma classe POJO segue definições rígidas de estrutura: Construtor sem argumentos; Atributos declarados como private; Métodos getters e setters, para cada atributo, declarados como public; Nada mais que isso. Abaixo segue um exemplo de uma classe POJO: public class Usuario { private int ID; private String nome; private String ; // CONSTRUTOR public Usuario() { // GETTERS public int getid() { return ID; public String getnome() { return nome; public String get () { return ; // SETTERS public void setid(int ID) { this.id = ID; public void setnome(string nome) { this.nome = nome; public void set (string ) { this. = ; No Hibernate o POJO é utilizado para mapear os campos do Banco de Dados na aplicação, permitindo que a geração do código SQL seja feita de forma automática, em tempo de execução.
5 4 Uma regra que deve ser seguida rigorosamente é criar a classe POJO com o mesmo nome da tabela a qual está sendo associado e os atributos com o mesmo nome e tipo dos campos. Isto não é obrigatório, mais por questão de organização e controle do código esta regra é altamente recomendada CONFIGURAÇÃO Para que o Hibernate funcione, além de importar as APIs necessárias para seu projeto, é preciso configurá-lo corretamente. Ele pode ser configurado de diversas formas: Utilizando uma instância de org.hibernate.cfg.configuration; Através do arquivo hibernate.properties; Através do arquivo hibernate.cfg.xml. Utilizaremos o hibernate.cfg.xml em nossos exemplos. Há um grande número de propriedades que controlam o comportamento do Hibernate em tempo de execução, sendo possível configurá-las em qualquer uma das técnicas citadas acima. Também é preciso mapear as classes POJO contendo a estrutura das tabelas, que por sua vez pode ser feito de duas maneiras: Com o uso Com o uso do hbm.xml. Os Annotations nos permite fazer o mapeamento diretamente no POJO utilizando antes da declaração da classe, métodos e atributos. Já o hbm.xml (Hibernate Mapping) é um arquivo separado que possui a localização do POJO. Utilizaremos o hbm.xml em nossos exemplos HIBERNATE.CFG.XML O hibernate.cfg.xml contém basicamente as seguintes informações: Local onde se encontra o Banco de Dados Dialeto do Banco de Dados (MySQL, SQL Server, Oracle, Firebird...); Usuário e senha; Local onde se encontram os hmb.xml; Tipo de cache a ser utilizado; Habilitar a coleta de estatísticas para melhorar o desempenho; E várias outras propriedades. A seguir temos um exemplo do hibernate.cfg.xml:
6 5 <?xml version="1.0" encoding="utf-8"?> <!DOCTYPE hibernate-configuration PUBLIC "-//Hibernate/Hibernate Configuration DTD 3.0//EN" " <hibernate-configuration> <session-factory> <property name="hibernate.connection.driver_class">com.mysql.jdbc.driver</property> <property name="hibernate.connection.url">jdbc:mysql://localhost/banco_dados</property> <property name="hibernate.connection.username">usuario</property> <property name="hibernate.connection.password"/>senha</property> <property name="hibernate.dialect">org.hibernate.dialect.mysqldialect</property> <property name="show_sql">true</property> <property name="hibernate.format_sql">true</property> <property name="hibernate.generate_statistics">true</property> <mapping resource="classepojo.hbm.xml"/> </session-factory> </hibernate-configuration> HBM.XML O arquivo hbm.xml é responsável por mapear Banco de Dados, informando o nome da tabela, nome, tamanho e tipo de dados dos campos, o elemento identificador da tabela entre outras informações. A nomenclatura deste arquivo deve ser a seguinte: nome_pojo.hbm.xml. O exemplo a seguir demonstra como um arquivo de mapeamento deve ser criado: <?xml version="1.0" encoding="utf-8"?> <!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN" " <hibernate-mapping> <class name="aplicacao.exemplo" table="tabela_exemplo"> <id column="id" name="id" type="java.lang.long"> <generator class="native"></generator> </id> <property column="nome" name="nome" length="50" type="java.lang.string"/> <property column=" " name=" " length="50" type="java.lang.string"/> <property column="data_nascimento" name="data_nascimento" type="java.util.date"/> </class> </hibernate-mapping> 1.4. DIALETOS SUPORTADOS Você deve sempre determinar a propriedade hibernate.dialect ao configurar o Hibernate. Se você especificar um dialeto, o Hibernate usará padrões lógicos exclusivos para o dialeto informado, reduzindo o esforço de especificá-los manualmente.
7 6 A seguir temos uma tabela com os principais Bancos de Dados suportados pelo Hibernate: Banco de Dados PostgreSQL MySQL5 Oracle 11g SQL Server 2008 HypersonicSQL Interbase Firebird Dialeto org.hibernate.dialect.postgresqldialect org.hibernate.dialect.mysql5dialect org.hibernate.dialect.oracle10gdialect org.hibernate.dialect.sqlserver2008dialect org.hibernate.dialect.hsqldialect org.hibernate.dialect.interbasedialect org.hibernate.dialect.firebirddialect 1.5. HQL O Hibernate vem com uma poderosa linguagem de consulta, o Hibernate Query Language (HQL), que é muito parecida com o SQL. No entanto, comparado com o SQL o HQL é totalmente orientado à objetos, e compreende noções de herança, polimorfismo e associações. As Consultas não diferenciam maiúscula de minúscula, exceto pelo nomes das classes e propriedades Java. Portanto, SeLeCT é o mesmo que select que é o mesmo que SELECT, mas org.hibernate.exemplo não é org.hibernate.exemplo e exemplo.teste não é exemplo.teste. A seguir são apresentados alguns exemplos de HQL: // SELECT Query query = session.createquery("from pessoas where id = :id "); query.setparameter("id", "2324"); // UPDATE Query query = session.createquery("update pessoas set nome = :nome where id = :id"); query.setparameter("nome", "Fulano"); query.setparameter("id", "2324"); // DELETE Query query = session.createquery("delete pessoas where id = :id"); query.setparameter("id", "2324"); Para realizarmos um INSERT, UPDATE ou DELETE, não precisamos escrever o HQL como mostra o exemplo acima, apenas precisamos atribuir os devidos valores para o POJO e utilizarmos um código como o citado abaixo para persistir os dados: try { transacao = sessao.begintransaction(); sessao.save(pojo); transacao.commit(); catch (Exception e) {
8 TIPOS DE DADOS Sabemos que o Java possui seus próprios tipos de dados (java.lang.string, java.lang.character, java.util.date, java.util.list...), assim como o SQL também possui (varchar, character, timestamp...). Isso poderia se tornar um problema em alguns casos, pois nem sempre a conversão de um tipo de dado do Java coincidiria com um tipo de dado SQL. Por exemplo, no Java temos o tipo java.util.date responsável por armazenar data e hora, ou apenas um dos dois. Na linguagem SQL temos date (Data), time (Horário) e timestamp (Data e Horário). Uma conversão deste tipo pode não ser bem sucedida em determinadas situações. Para que este tipo de problema não ocorra, o Hibernate tem seus próprios tipos de dados, que funcionam como intermediários entre os tipos da aplicação e o Banco de Dados, garantindo uma conversão segura. Confira a tabela comparativa entre os tipos de dados do Hibernate e do Java: Hibernate integer long short float double character byte boolean, yes_no, true_false string, text date, time, timestamp calendar, calendar_date big_decimal big_integer Locale timezone currency class Binary Java int, java.lang.integer long, java.lang.long short, java.lang.short float, java.lang.float double, java.lang.double char, java.lang.character byte, java.lang.byte boolean, java.lang.boolean java.lang.string java.util.date java.util.calendar java.math.bigdecimal java.math.biginteger java.util.locale java.util.timezone java.util.currency java.lang.class byte[] 2. CRIANDO UMA SIMPLES APLICAÇÃO Iremos desenvolver uma simples aplicação que realizará as funções básicas do SQL: SELECT, INSERT, UPDATE e DELETE. Iremos utilizar o Java 6, Hibernate 3.6.6, MySQL5
9 8 e o NetBeans 7 neste projeto. Para baixar o Hibernate acesse: Primeiramente crie um novo projeto no NetBeans com o nome de sua preferência, aqui daremos o nome de HelloHibernate. Feito isso iremos importar as APIs necessárias para o funcionamento do Hibernate, são elas: hibernate3.jar; hibernate-jpa-2.0-api final.jar; antlr jar; commons-collections-3.1.jar; dom4j jar; javassist ga.jar; jta-1.1.jar; slf4j-api jar; slf4j-simple jar. A API slf4j-simple jar não vem no pacote de instalação do Hibernate, mas ainda assim é necessário para seu funcionamento. Para baixá-la acesse: Agora iremos criar as seguintes classes: Main (Formulário JFrame); HibernateUtil (Classe que realizará a persistência dos dados); Sessao (Responsável pela conexão com o Banco de Dados); Pessoas (POJO da tabela pessoas que será criada mais a frente). Nesta aplicação iremos fazer um sistema de cadastro/consulta com apenas 3 campos: nome, idade e sexo que são do tipo, respectivamente, string, integer e character A INTERFACE GRÁFICA A interface gráfica deve ser feita parecida com a figura abaixo:
10 9 Interface Gráfica da aplicação Nesta interface encontramos os seguintes componentes Swing: JTextField: txtnome; JSpinner: spnidade; JRadioButton: rdom e rdof (Com o ButtonGroup grpsexo); JButton: btninserir, btnatualizar, btndeletar; JTable: tblregistros O BANCO DE DADOS O nome do Banco de Dados será hello_hibernate e o nome da tabela pessoas. A estrutura da tabela deve ser feita da seguinte forma: Campo Tipo Tamanho Atributos id int Auto Increment, Primary Key nome varchar 50 Idade Int 3 sexo char MAPEANDO O BANCO DE DADOS Chegou a hora de criarmos o POJO, a classe responsável por mapear a tabela pessoas. Ela deve ficar da seguinte forma: public class Pessoas { // ATRIBUTOS private int id; private String nome;
11 10 private int idade; private char sexo; // CONSTRUTOR public Pessoas() { // GETTERS public int getid() { return id; public String getnome() { return nome; public int getidade() { return idade; public char getsexo() { return sexo; // SETTERS public void setid(int id) { this.id = id; public void setnome(string nome) { this.nome = nome; public void setidade(int idade) { this.idade = idade; public void setsexo(char sexo) { this.sexo = sexo; Apenas declaramos os quatro atributos com seus respectivos tipos e com o modificador de acesso private. Em seguida criamos os métodos getters e setters para cada atributo CONFIGURANDO O HIBERNATE Agora iremos criar o pessoas.hbm.xml, o arquivo contendo o mapeamento da tabela pessoas com os tipos de dados do Hibernate e que também informa o POJO responsável pelo mapeamento, neste caso a classe Pessoas. O arquivo deve ficar desta forma: <?xml version="1.0" encoding="utf-8"?> <!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN" " <hibernate-mapping> <class name="pessoas" table="pessoas"> <id name="id"> <generator class="native"/>
12 11 </id> <property name="nome" type="string" length="50"/> <property name="idade" type="integer" length ="3"/> <property name="sexo" type="character" length ="1"/> </class> </hibernate-mapping> Feito isso, iremos criar o hibernate.cfg.xml, arquivo responsável pela conexão com o Banco de Dados e pelo comportamento geral do Hibernate. Iremos informar o Dialeto, Driver e URL do Banco de Dados, usuário, senha e habilitaremos as opções de mostrar o SQL no console da IDE com formatação (Apenas para facilitar o entendimento do código) e a geração de estatísticas. Repare que no final deste arquivo indicamos o local do pessoas.hbm.xml na propriedade resource da Tag mapping. O arquivo deve ficar da seguinte forma: <?xml version="1.0" encoding="utf-8"?> <!DOCTYPE hibernate-configuration PUBLIC "-//Hibernate/Hibernate Configuration DTD 3.0//EN" " 3.0.dtd"> <hibernate-configuration> <session-factory> <property name="hibernate.dialect">org.hibernate.dialect.mysqldialect</property> <property name="hibernate.connection.driver_class">com.mysql.jdbc.driver</property> <property name="hibernate.connection.url">jdbc:mysql://localhost:3306/hello_hibernate</pr operty> <property name="hibernate.connection.username">root</property> <property name="hibernate.connection.password"/> <property name="hibernate.show_sql">true</property> <property name="hibernate.format_sql">true</property> <property name="hibernate.generate_statistics">true</property> <!-- ARQUIVO DE MAPEAMENTO --> <mapping resource="pessoas.hbm.xml"/> </session-factory> </hibernate-configuration> 2.5. A CLASSE DA SESSÃO A classe Sessao será responsável por ler o arquivo hibernate.cfg.xml e estabelecer a conexão com o Banco de Dados. Nela usaremos apenas três classes: Configuration, SessionFactory e Session. A classe Configuration é responsável por ler o arquivo hibernate.cfg.xml e iniciar a sessão propriamente dita.
13 12 A classe SessionFactory possui um custo alto de criação, é criado uma única vez, no início da execução da aplicação, a partir da instância de uma Configuration. Uma Session é um objeto de baixo custo de criação e deve ser usado uma vez, para uma única requisição e então deve ser descartada (sessao.close()). Uma transação precisa ser o mais curta possível, para reduzir a disputa pelo bloqueio na Base de Dados. Transações longas impedirão que sua aplicação seja altamente concorrente. A classe Sessao deve ficar da seguinte maneira: import org.hibernate.session; import org.hibernate.sessionfactory; import org.hibernate.cfg.configuration; public class Sessao { private static SessionFactory fabricasessao; // Estrutura static para garantir que a SessionFactory seja iniciada apenas uma vez static { try { fabricasessao = new Configuration().configure("hibernate.cfg.xml").buildSessionFactory(); catch (Exception e){ e.printstacktrace(); public static Session getsessao(){ return fabricasessao.opensession(); 2.6. A CLASSE DE PERSISTÊNCIA Feita a classe Sessao iremos implementá-la na classe HibernateUtil junto com os métodos select, insertupdate e delete. Nesta classe precisaremos das classes Session, Transaction, Query e List. A Session nos permite acessar a SessionFactory. A Transaction é quem iniciará a Session e execuratá a Query. Ao realizar o SELECT será retornado uma List. Veja como deve ficar a classe: import java.util.arraylist; import java.util.list; import javax.swing.joptionpane; import org.hibernate.hibernateexception; import org.hibernate.query; import org.hibernate.session; import org.hibernate.transaction; public class HibernateUtil {
14 13 private Session sessao; private Transaction transacao; private Query query; public List select(){ List<Pessoas> lista = new ArrayList(); try { this.sessao = Sessao.getSessao(); transacao = sessao.begintransaction(); query = sessao.createquery("from Pessoas"); lista = query.list(); sessao.close(); catch (HibernateException e) { JOptionPane.showMessageDialog(null, "Erro ao realizar Select.\n"+e.getMessage(), null, JOptionPane.ERROR_MESSAGE); e.printstacktrace(); return lista; public void insertupdate(pessoas pessoa){ try{ this.sessao = Sessao.getSessao(); transacao = sessao.begintransaction(); sessao.saveorupdate(pessoa); transacao.commit(); sessao.close(); JOptionPane.showMessageDialog(null, "Registro salvo com sucesso!", null, JOptionPane.INFORMATION_MESSAGE); catch (HibernateException e) { JOptionPane.showMessageDialog(null, "Erro ao persistir os dados.\n"+e.getmessage(), null, JOptionPane.ERROR_MESSAGE); e.printstacktrace(); public void delete(pessoas pessoa){ try{ this.sessao = Sessao.getSessao(); transacao = sessao.begintransaction(); sessao.delete(pessoa); transacao.commit(); sessao.close(); JOptionPane.showMessageDialog(null, "Registro deletado com sucesso!", null, JOptionPane.INFORMATION_MESSAGE); catch (HibernateException e) { JOptionPane.showMessageDialog(null, "Erro ao deletar registro.\n"+e.getmessage(), null, JOptionPane.ERROR_MESSAGE); e.printstacktrace(); Como você pode ver, criamos três métodos: select, insertupdate e delete. Em select utilizamos o HQL para realizar uma consulta que retornará uma List. Em insertupdate utilizamos o método saveorupdate que realiza tanto o INSERT quanto o UPDATE (apenas se o atributo id já existir). Em delete utilizamos o método delete para apagar determinado registro. Note que tanto em insertupdate e delete passamos por parâmetro o POJO Pessoas e no método select retornamos uma List<Pessoas>. Observe também que utilizamos o sessao.begintransaction() para iniciar a sessão, em seguida
15 14 executamos a query com o transacao.commit() e fechamos a sessão, sessao.close(). Isso é muito importante pois, como vimos anteriormente, uma transação tem que ser o mais curta possível IMPLEMENTANDO AS CLASSES Agora vamos implementar o HibernateUtil e outros métodos na classe principal Main, tornando a aplicação funcional. Vamos começar com a declaração dos atributos e do método construtor Main. private HibernateUtil hibernate; private Pessoas pessoas; private DefaultTableModel tblmodel; private int id; public Main() { hibernate = new HibernateUtil(); pessoas = new Pessoas(); initcomponents(); setlocationrelativeto(null); setlisteners(); atualizartabela(); O que acabamos de fazer? Instanciamos o HibernateUtil e o POJO Pessoas; Iniciamos os componentes Swing; Centralizamos a tela; Adicionamos os listeners necessários (A seguir); Atualizamos a tabela (A seguir). Agora iremos criar os métodos limparcampos e validarcampos: private void limparcampos(){ id = 0; txtnome.settext(""); spnidade.setvalue(0); grpsexo.clearselection(); private boolean validarcampos(){ if(txtnome.gettext().isempty()){ JOptionPane.showMessageDialog(null, "Informe o nome", null, JOptionPane.WARNING_MESSAGE); return false; else if((integer)spnidade.getvalue() < 1){ JOptionPane.showMessageDialog(null, "Informe uma idade válida", null, JOptionPane.WARNING_MESSAGE); return false; else if(!rdof.isselected() &&!rdom.isselected()){ JOptionPane.showMessageDialog(null, "Informe o sexo", null, JOptionPane.WARNING_MESSAGE); return false; return true;
16 15 Feito isso, o próximo passo é criar os métodos setpessoas (Que irá pegar os valores do formulário e setar no POJO) e atualizartabela (Que chamará o método select do HibernateUtil e preencherá a tabela sempre que um evento for disparado). private void setpessoas() { pessoas.setid(id); pessoas.setnome(txtnome.gettext()); pessoas.setidade((integer)spnidade.getvalue()); if(rdom.isselected()) pessoas.setsexo('m'); else if(rdof.isselected()) pessoas.setsexo('f'); private void atualizartabela(){ try { limparcampos(); tblmodel.getdatavector().clear(); List<Pessoas> select = hibernate.select(); if(!select.isempty()){ for(pessoas p : select) tblmodel.addrow(new Object[]{p.getId(), p.getnome(), p.getidade(), p.getsexo()); catch (Exception e) { JOptionPane.showMessageDialog(null, "Erro ao atualizar tabela\n"+e.getmessage(), null, JOptionPane.ERROR_MESSAGE); Por último iremos adicionar os listeners nos botões e na tabela. Nos botões btninserir, bntatualizar e BtnDeletar iremos adicionar um ActionListener que, primeiramente, realizará uma validação e caso a mesma seja positiva executará o setpessoas, depois o método do HibernateUtil (insertupdade ou delete) e por último atualizará a tabela. Na tabela adicionaremos um MouseListener e sobrescreveremos o método mouseclicked. Ao clicarmos em uma linha, os campos nome, idade e sexo serão preenchidos e o atributo id terá seu valor atualizado. private void setlisteners() { btninserir.addactionlistener(new ActionListener() public void actionperformed(actionevent e) { if(validarcampos()){ id = 0; setpessoas(); hibernate.insertupdate(pessoas); atualizartabela(); ); btnatualizar.addactionlistener(new ActionListener() public void actionperformed(actionevent e) {
17 16 if(validarcampos()){ setpessoas(); hibernate.insertupdate(pessoas); atualizartabela(); ); btndeletar.addactionlistener(new ActionListener() public void actionperformed(actionevent e) { if(id > 0){ setpessoas(); hibernate.delete(pessoas); atualizartabela(); ); tblregistros.addmouselistener(new MouseAdapter() public void mouseclicked(mouseevent e) { int linha = tblregistros.getselectedrow(); id = (Integer)tblRegistros.getModel().getValueAt(linha, 0); txtnome.settext(tblregistros.getmodel().getvalueat(linha,1)+""); spnidade.setvalue(tblregistros.getmodel().getvalueat(linha, 2)); if((character)tblregistros.getmodel().getvalueat(linha, 3)=='M') rdom.setselected(true); else if((character)tblregistros.getmodel().getvalueat(linha, 3)=='F') rdof.setselected(true); ); Com isso feito nossa aplicação já está pronta para ser testada. Vamos lá? 2.8. RODANDO A APLICAÇÃO Agora vamos dar um Build (F11) no projeto e observar no console do NetBeans se houve alguma exceção. Se você seguiu todos os passos a risca então o processo de compilação será executado com sucesso. Vamos rodar a aplicação (F6) e novamente observar o console. Agora você está diante do Log de inicialização do Hibernate que deve ser parecido com a figura abaixo:
18 17 Log de inicialização do Hibernate no NetBeans É muito importante prestarmos atenção neste Log, pois nele encontramos informações úteis a respeito de sua configuração e a possíveis HibernateException que podem vir a acontecer. Agora observe o final do Log, mais precisamente na consulta SQL que foi feita: um SELECT gerado automaticamente. Lembram-se que no método construtor da classe principal Main chamamos o método atualizartabela? Se você estiver vendo esta consulta SQL em seu console e não houve nenhum HibernateException significa que o Hibernate está configurado perfeitamente e que o SELECT foi executado sem erros. Vamos voltar para a aplicação. Como ainda não temos nenhum registro no Banco de Dados, mesmo com o SELECT sendo feito, temos uma tabela vazia na aplicação. Para resolver isso vamos inserir alguns registros:
19 18 INSERT Enquanto você inseria os registros, você observou o console do NetBeans com as consultas SQL (INSERT e SELECT) sendo geradas automaticamente? Até agora não precisamos nos preocupar com nenhum código SQL, não é mesmo? E vamos continuar assim graças ao Hibernate. Agora vamos testar o UPDATE e DELETE: U UPDATE DELETE Acabamos de persistir os dados com o Hibernate provando a facilidade de uso e eficiência deste incrível FrameWork. Se compararmos com o modo tradicional (JDBC, ResultSet, Next), o Hibernate nos livra da mão de obra e stress de construir diversas consultas SQL que muitas vezes precisam ser refeitas e podem acabar complicando o entendimento do código e comprometendo sua integridade.
20 19 Com pouco tempo de estudo e mínimos conhecimentos em Banco de Dados, podemos desenvolver aplicações magníficas que se aproveitam do Paradigma da Orientação a Objetos para persistir os dados em praticamente qualquer Banco de Dados utilizado atualmente. Isso mesmo, aprendendo Hibernate aprenderemos a trabalhar também com o Oracle, MySQL, PosgreSQL, SQL Server, SQLite, Firebird e muitos outros SGBDs famosos pela sua segurança e robustez.
21 20 3. REFERÊNCIAS LINWOOD, Jeff; MINTER, Dave. Beginning Hibernate. 2ª Edição. New York: Apress, RED HAT. HIBERNATE - Persistência Relacional para Java Idiomático. Disponível em: < CAFÉ, Adriel Almeida. POJO: Encapsulando as Classes. Disponível em: <
Curso de Java. Acesso a banco de dados através do Hibernate. Todos os direitos reservados Klais
Curso de Java Acesso a banco de dados através do Hibernate Todos os direitos reservados Klais Motivação Java é uma linguagem orientada a objetos: Numa aplicação, o uso de objetos é um recurso importante
Leia maisHIBERNATE EM APLICAÇÃO JAVA WEB
HIBERNATE EM APLICAÇÃO JAVA WEB Raul Victtor Barbosa Claudino¹, Ricardo Ribeiro Rufino¹ ¹Universidade Paranaense (Unipar) Paranavaí PR Brasil victtor.claudino@gmail.com, ricardo@unipar.br Resumo: Este
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 maisPersistência de dados com JPA. Hélder Antero Amaral Nunes haanunes@gmail.com
Persistência de dados com JPA Hélder Antero Amaral Nunes haanunes@gmail.com O que é persistência? A persistência de dados é o fato de pegar um dado e torná-lo persistente, ou seja, salvar em algum banco
Leia maisAutor: Ricardo Francisco Minzé Júnior - ricardominze@yahoo.com.br Desenvolvendo aplicações em camadas com PHP 5.
Desenvolvendo aplicações em camadas com PHP 5. Talvez a primeira vista você ache estranha a palavra Camada em programação, mas o que vem a ser Camada? Segundo o dicionário: Camada 1 - Qualquer matéria
Leia maisFigura 1.1 Código de inserção não baseado em Hibernate. Figura 1.2 Código de inserção baseado em Hibernate
Hibernate É um framework para mapeamento objeto/relacional para aplicações em Java. Tem como objetivo mor o mapeamento de classes Java em tabelas do banco de dados e viceversa, possibilitando a realização
Leia maisAcessando um Banco de Dados
Acessando um Banco de Dados Introdução Agora que você já está craque em JSP e já instalou seu servidor, vamos direto para a parte prática! Neste tutorial vamos aprender a acessar um banco de dados. Para
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 maisNOVIDADES DO JAVA PARA PROGRAMADORES C
PROGRAMAÇÃO SERVIDOR EM SISTEMAS WEB NOVIDADES DO JAVA PARA PROGRAMADORES C Prof. Dr. Daniel Caetano 2012-1 Objetivos Apresentar o Conceito de Classes e Objetos Capacitar para a criação de objetos simples
Leia maisJAVA COM BANCO DE DADOS PROFESSORA DANIELA PIRES
Conteúdo O Projeto... 2 Criação de Pacotes... 4 Factory:... 6 DAO:... 15 GUI (Graphical User Interface ou Interface Gráfica de Cadastro)... 18 Evento SAIR... 23 Evento CADASTRAR... 24 1 O Projeto Arquivo
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 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 maisUFG - Instituto de Informática
UFG - Instituto de Informática Curso: Engenharia de Software Arquitetura de Software Prof.: Fabrízzio A A M N Soares professor.fabrizzio@gmail.com Aula 9 Mapeamento em JPA Introdução O mapeamento objeto-relacional
Leia maisOrientação a Objetos
1. Domínio e Aplicação Orientação a Objetos Um domínio é composto pelas entidades, informações e processos relacionados a um determinado contexto. Uma aplicação pode ser desenvolvida para automatizar ou
Leia maisJSP - ORIENTADO A OBJETOS
JSP Orientação a Objetos... 2 CLASSE:... 2 MÉTODOS:... 2 Método de Retorno... 2 Método de Execução... 2 Tipos de Dados... 3 Boolean... 3 Float... 3 Integer... 4 String... 4 Array... 4 Primeira:... 4 Segunda:...
Leia maisProgramação Orientada a Objetos com PHP & MySQL Sistema Gerenciador de Banco de Dados: Introdução e configuração de bases de dados com Postgre e MySQL
Programação Orientada a Objetos com PHP & MySQL Sistema Gerenciador de Banco de Dados: Introdução e configuração de bases de dados com Postgre e MySQL Prof. MSc. Hugo Souza Iniciando nossas aulas sobre
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 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 maisUFG - Instituto de Informática
UFG - Instituto de Informática Curso: Sistemas de Informações Arquitetura de Software Prof.: Fabrízzio A A M N Soares professor.fabrizzio@gmail.com Aula 7 JPA A Persistência com JPA Para configurar o JPA
Leia maisHIBERNATE Criando um projeto em Java + Hibernate do zero
HIBERNATE Criando um projeto em Java + Hibernate do zero SUMÁRIO 1 Instalação do NetBeans 2 Instalação do Java Development Kit (JDK) 3 Criar projeto no NetBeans 4 O arquivo hibernate.cfg.xml 5 Criar as
Leia maisCONVENÇÃO DE CÓDIGO JAVA
CONVENÇÃO DE CÓDIGO JAVA Eligiane Ceron - Abril de 2012 Versão 1.0 Conteúdo Considerações iniciais... 2 Introdução... 2 Extensão de arquivos... 2 Arquivos de código Java... 2 Comentários iniciais... 2
Leia maisManipulação de Banco de Dados com Java 1. Objetivos
Manipulação de Banco de Dados com Java 1. Objetivos Demonstrar os fundamentos básicos para a manipulação de banco de dados com Java; Apresentar a sintaxe de comandos SQL usados em Java. 2. Definições A
Leia maisParte II Persistência entre Modelos de Dados
Parte II Persistência entre Modelos de Dados Clodis Boscarioli Agenda: Hibernate Introdução; Configurações; Mapeamento com XML; Exemplos; Associações: 1-n; n-1; n-n; 1-1. Hibernate - Introdução O Hibernate
Leia maisResolvendo objeto-relacional impedance mismatch com hibernate
Resolvendo objeto-relacional impedance mismatch com hibernate August 7, 2013 Sumário I 1 Introdução 2 3 4 Sumário II 5 Contexto Mapeamento Objeto-Relacional (ORM) é uma técnica de programação para converter
Leia maisSISTEMA EXPERIMENTALL 15/11/2009. Olá! A partir de agora vamos conhecer a IDE NetBeans 6.7.1 efetuando um micro projeto swing.
15/11/2009 Olá! A partir de agora vamos conhecer a IDE NetBeans 6.7.1 efetuando um micro projeto swing. Crie um novo projeto clicando em arquivo e em novo projeto. Escolha a opção java, aplicativo java
Leia maisJDBC Java Database Connectivity
5 JDBC Java Database Connectivity Prof. Autor: Daniel Morais dos Reis e-tec Brasil Programação Avançada Para Web Página1 Meta Trabalhar com bancos de dados em aplicações web em JSP através das classes
Leia mais2 Orientação a objetos na prática
2 Orientação a objetos na prática Aula 04 Sumário Capítulo 1 Introdução e conceitos básicos 1.4 Orientação a Objetos 1.4.1 Classe 1.4.2 Objetos 1.4.3 Métodos e atributos 1.4.4 Encapsulamento 1.4.5 Métodos
Leia maisRELACIONAMENTOS ENTRE OS OBJETOS NO FRAMEWORK HIBERNATE Elio Lovisi Filho 1 Ronney Moreira de Castro 2 RESUMO
Revista Eletrônica da Faculdade Metodista Granbery http://re.granbery.edu.br - ISSN 1981 0377 Curso de Sistemas de Informação - N. 10, JAN/JUN 2011 RELACIONAMENTOS ENTRE OS OBJETOS NO FRAMEWORK HIBERNATE
Leia maisListando itens em ComboBox e gravando os dados no Banco de Dados MySQL.
Listando itens em ComboBox e gravando os dados no Banco de Dados MySQL. Prof. Vitor H. Migoto de Gouvêa Colégio IDESA 2012 Edição 7 Listando e Gravando Listando itens em ComboBox e gravando os dados no
Leia maisPersistindo dados com TopLink no NetBeans
Persistindo dados com TopLink no NetBeans O que é TopLink? O TopLink é uma ferramenta de mapeamento objeto/relacional para Java. Ela transforma os dados tabulares de um banco de dados em um grafo de objetos
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 maisUnidade 9: Middleware JDBC para Criação de Beans
Programação Servidor para Sistemas Web 1 Unidade 9: Middleware JDBC para Criação de Beans Implementando MVC Nível 1 Prof. Daniel Caetano Objetivo: Preparar o aluno para construir classes de entidade com
Leia maisProgramação de Computadores - I. Profª Beatriz Profº Israel
Programação de Computadores - I Profª Beatriz Profº Israel Ambiente de Desenvolvimento Orientação a Objetos É uma técnica de desenvolvimento de softwares que consiste em representar os elementos do mundo
Leia maisruirossi@ruirossi.pro.br
Persistência Com JPA & Hibernate Rui Rossi dos Santos ruirossi@ruirossi.pro.br Mediador: Rui Rossi dos Santos Slide 1 Mapeamento Objeto-Relacional Contexto: Linguagem de programação orientada a objetos
Leia maisAlgoritmos e Programação Estruturada
Algoritmos e Programação Estruturada Virgínia M. Cardoso Linguagem C Criada por Dennis M. Ritchie e Ken Thompson no Laboratório Bell em 1972. A Linguagem C foi baseada na Linguagem B criada por Thompson.
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 maisExercício 1 : As classes abaixo serão utilizadas neste exercício: public class Ponto { int x; int y; public Ponto(int x, int y){ this.
Exercício 1 : As classes abaixo serão utilizadas neste exercício: public class Ponto { int x; int y; public Ponto(int x, int y){ this.x = x; this.y = y; public String tostring(){ return "(" + x + "," +
Leia maisPersistência de Dados em Java com JPA e Toplink
Persistência de Dados em Java com JPA e Toplink Vinicius Teixeira Dallacqua Curso de Tecnologia em Sistemas para Internet Instituto Federal de Educação, Ciência e Tecnologia - IFTO AE 310 Sul, Avenida
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 maisColeções. Conceitos e Utilização Básica. c Professores de ALPRO I 05/2012. Faculdade de Informática PUCRS
Coleções Conceitos e Utilização Básica c Professores de ALPRO I Faculdade de Informática PUCRS 05/2012 ALPRO I (FACIN) Coleções: Básico 05/2012 1 / 41 Nota Este material não pode ser reproduzido ou utilizado
Leia maisUsando PostgreSQL na Regra de Negócio de um ERP. Fabiano Machado Dias Eduardo Wolak
Usando PostgreSQL na Regra de Negócio de um ERP Fabiano Machado Dias Eduardo Wolak Regra de negócio? São todas as regras existentes num sistema de informação, que ditam seu comportamento, suas restrições
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 maisDescrição. Implementação. Departamento de Informática e Estatística Universidade Federal de Santa Catarina LAB 4 Transferência de Arquivos
Departamento de Informática e Estatística Universidade Federal de Santa Catarina LAB 4 Transferência de Arquivos Descrição Implemente nesta atividade de laboratório um programa em Java utilizando threads
Leia maisTransações Seguras em Bancos de Dados (MySQL)
Transações Seguras em Bancos de Dados (MySQL) Índice Entendendo os storage engines do MySQL 5 1 As ferramentas 1 Mais algumas coisas que você deve saber 1 Com a mão na massa 2 Mais ferramentas Usando o
Leia maisData Transformation Services (DTS) por Anderson Ferreira Souza
Data Transformation Services (DTS) por Anderson Ferreira Souza O Sql Server possui um recurso extremamente poderoso que é muito pouco utilizado pelos administradores e programadores. Com certeza, sendo
Leia maisPara desenvolver a atividade a atividade desta aula utilizaremos o ambiente de desenvolvimento integrado NetBeans.
1 - Criando uma classe em Java Para desenvolver a atividade a atividade desta aula utilizaremos o ambiente de desenvolvimento integrado NetBeans. Antes de criarmos a(s) classe(s) é necessário criar o projeto
Leia maisClasses de Entidades Persistentes JDB
Classes de Entidades Persistentes JDB Brasil, Natal-RN, 07 de setembro de 2011 Welbson Siqueira Costa www.jdbframework.com Nota de Retificação: em 11/12/2011 a Listagem 3 desse tutorial sofreu uma pequena
Leia maisUNIVERSIDADE FEDERAL DO RIO GRANDE DO NORTE ESCOLA AGRÍCOLA DE JUNDIAÍ EAJ - PRONATEC / REDE etec MÓDULO III DESENVOLVIMENTO PROFESSOR ADDSON COSTA
UNIVERSIDADE FEDERAL DO RIO GRANDE DO NORTE ESCOLA AGRÍCOLA DE JUNDIAÍ EAJ - PRONATEC / REDE etec MÓDULO III DESENVOLVIMENTO PROFESSOR ADDSON COSTA RESUMO DE AULA CRIAÇÃO E MANIPULAÇÃO DO BANCO DE DADOS
Leia maisFTIN FORMAÇÃO TÉCNICA EM INFORMÁTICA. Módulo de Programação Prof. Bruno Maciel
FTIN FORMAÇÃO TÉCNICA EM INFORMÁTICA Módulo de Programação Prof. Bruno Maciel Competências a serem trabalhadas nessa aula Criação da Base de Dados (MySQL) Criação de Tabelas Tipo de Dados Chave Primária
Leia maisDisciplina: Unidade V: Prof.: E-mail: Período:
Encontro 17 Disciplina: Sistemas de Banco de Dados Unidade V: Introdução à Linguagem SQL Prof.: Mario Filho E-mail: pro@mariofilho.com.br Período: 5º. SIG - ADM 13. Introdução à Linguagem SQL Introdução
Leia maisPHP INTEGRAÇÃO COM MYSQL PARTE 1
INTRODUÇÃO PHP INTEGRAÇÃO COM MYSQL PARTE 1 Leonardo Pereira leonardo@estudandoti.com.br Facebook: leongamerti http://www.estudandoti.com.br Informações que precisam ser manipuladas com mais segurança
Leia maisCriando uma agenda simples com NetBeans 6.5
Criando uma agenda simples com NetBeans 6.5 (Swing application framework e Beansbinding) Já faz algum tempo que escrevi uma agenda simples usando o Eclipse com o Visual Class Editor. Demorei em torno de
Leia maisPersistência de Dados
Persistência de s Universidade do Estado de Santa Catarina - Udesc Centro de Ciências Tecnológicas - CCT Departamento de Ciência da Computação Tecnologia de Sistemas de Informação Estrutura de s II - DAD
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 maisAULA 4 VISÃO BÁSICA DE CLASSES EM PHP
AULA 4 VISÃO BÁSICA DE CLASSES EM PHP Antes de mais nada, vamos conhecer alguns conceitos, que serão importantes para o entendimento mais efetivos dos assuntos que trataremos durante a leitura desta apostila.
Leia maisCURSO DE PROGRAMAÇÃO EM JAVA
CURSO DE PROGRAMAÇÃO EM JAVA Introdução para Iniciantes Prof. M.Sc. Daniel Calife Índice 1 - A programação e a Linguagem Java. 1.1 1.2 1.3 1.4 Linguagens de Programação Java JDK IDE 2 - Criando o primeiro
Leia maisJava com Banco de Dados Posgree
Java com Banco de Dados Posgree Prof. Luiz Claudio Ferreira de Souza www.luizclaudiofs.blogspot.com 1 Driver para ligação Java e Postgre http://jdbc.postgresql.org/download.html www.luizclaudiofs.blogspot.com
Leia maisNoções sobre Objetos e Classes
Noções sobre Objetos e Classes Prof. Marcelo Cohen 1. Elementos de programação Revisão de programação variáveis, tipos de dados expressões e operadores cadeias de caracteres escopo de variáveis Revisão
Leia maisDesenvolvendo Websites com PHP
Desenvolvendo Websites com PHP Aprenda a criar Websites dinâmicos e interativos com PHP e bancos de dados Juliano Niederauer 19 Capítulo 1 O que é o PHP? O PHP é uma das linguagens mais utilizadas na Web.
Leia maisTUTORIAL SOBRE A CONSTRUÇÃO DE APLICAÇÕES EMPREGANDO JAVA, HIBERNATE E MySQL
Revista Eletrônica da Faculdade Metodista Granbery http://re.granbery.edu.br - ISSN 1981 0377 Curso de Sistemas de Informação - N. 6, JAN/JUN 2009 TUTORIAL SOBRE A CONSTRUÇÃO DE APLICAÇÕES EMPREGANDO JAVA,
Leia maisArquitetura de Aplicações JSP/Web. Padrão Arquitetural MVC
Arquitetura de Aplicações JSP/Web Padrão Arquitetural MVC Arquitetura de Aplicações JSP/Web Ao projetar uma aplicação Web, é importante considerála como sendo formada por três componentes lógicos: camada
Leia maisAPOSTILA BANCO DE DADOS INTRODUÇÃO A LINGUAGEM SQL
1. O que é Linguagem SQL 2. Instrução CREATE 3. CONSTRAINT 4. ALTER TABLE 5. RENAME TABLE 6. TRUCANTE TABLE 7. DROP TABLE 8. DROP DATABASE 1 1. O que é Linguagem SQL 2. O SQL (Structured Query Language)
Leia maisRevISTa: Publicação técnico-científica do IST-Rio. nº 05 Data: Dezembro / 2012 ISSN 2178-5589.
Tutorial de Instalação e Uso do Eclipse Alexandre V. S. Lage, Caio de O. Leal, Eduardo A. F. da Silva, Felipe C. C. Trindade, Gutierre da C. Oliveira e Miguel G. P. de Carvalho. INTRODUÇÃO O Eclipse (2012)
Leia maisPersistência de Classes em Tabelas de Banco de Dados
UTFPR DAELN - Disciplina de Fundamentos de Programação II ( IF62C ). 1 Persistência de Classes em Tabelas de Banco de Dados 1) Introdução! Em algumas situações, pode ser necessário preservar os objetos
Leia maisWebWork 2. João Carlos Pinheiro. jcpinheiro@cefet-ma.br
WebWork 2 João Carlos Pinheiro jcpinheiro@cefet-ma.br Versão: 0.5 Última Atualização: Agosto/2005 1 Agenda Introdução WebWork 2 & XWork Actions Views Interceptadores Validação Inversão de Controle (IoC)
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 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 mais1. Domínio dos Atributos
Structure Query Language SQL Guilherme Pontes lf.pontes.sites.uol.com.br 1. Domínio dos Atributos Por domínio, ou tipo, pode-se entender como a maneira como determinado atributo (ou campo, se tratando
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 maisJava & Bancos de Dados Adaptado de Slides da Universidade Salgado de Oliveira Goiânia
Java & Bancos de Dados Adaptado de Slides da Universidade Salgado de Oliveira Goiânia Sistemas de Informação Ling.Prog.V Prof. Roberto Couto Lima Fonte: Curso Java Prof. Fabricio Leonard Leopoldino (Universo)
Leia maisImplementando uma Classe e Criando Objetos a partir dela
Análise e Desenvolvimento de Sistemas ADS Programação Orientada a Obejeto POO 3º Semestre AULA 04 - INTRODUÇÃO À PROGRAMAÇÃO ORIENTADA A OBJETO (POO) Parte: 2 Prof. Cristóvão Cunha Implementando uma Classe
Leia maisC# - Conexão com MySQL
E S T A A P R E S E N T A Ç Ã O F O I E L A B O R A D A COMO M A T E R I A L DE A P O I O À A U L A DO P R O F E S S O R L E O L A R B A C K A O S A L U N O S DA E S C O L A T É C N I C A P O L I M I G.
Leia maisMódulo 5 JPATransaction Camadas Turma Turma TurmaBC .business @BusinessController TurmaBC TurmaBC TurmaBC
Módulo 5 No módulo anterior adaptamos nosso projeto para persistir as informações no banco de dados utilizando as facilidades da extensão demoiselle-jpa. Experimentamos o controle transacional do Framework
Leia maisEsta apresentação ensinará os conceitos de Orientação a Objetos com C++, do mais básico para o mais avançado. É suposto que o aluno já tenha
Esta apresentação ensinará os conceitos de Orientação a Objetos com C++, do mais básico para o mais avançado. É suposto que o aluno já tenha conhecimento avançado de C. Exemplo em C: Faça um programa que
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 maisMANIPULAÇÃO DE BANCO DE DADOS UTILIZANDO INTERFACE GRÁFICA
JOSIEL S. MOURA MANIPULAÇÃO DE BANCO DE DADOS UTILIZANDO INTERFACE GRÁFICA ORIENTADO A PROJETO: CONTROLE DE ESTOQUE 2012 JOSIEL S. MOURA MANIPULAÇÃO DE BANCO DE DADOS UTILIZANDO INTERFACE GRÁFICA ORIENTADO
Leia maisCRIANDO BANCOS DE DADOS NO SQL SERVER 2008 R2 COM O SQL SERVER MANAGEMENT STUDIO
CRIANDO BANCOS DE DADOS NO SQL SERVER 2008 R2 COM O SQL SERVER MANAGEMENT STUDIO Antes de criarmos um novo Banco de Dados quero fazer um pequeno parênteses sobre segurança. Você deve ter notado que sempre
Leia maisProjeto de Software Orientado a Objeto
Projeto de Software Orientado a Objeto Ciclo de Vida de Produto de Software (PLC) Analisando um problema e modelando uma solução Prof. Gilberto B. Oliveira Estágios do Ciclo de Vida de Produto de Software
Leia maisATRIBUTOS PRIVADOS 6. ENCAPSULAMENTO MÉTODOS PRIVADOS MÉTODOS PRIVADOS
ATRIBUTOS PRIVADOS Podemos usar o modificador private, para tornar um atributo privado, obtendo um controle centralizado Definimos métodos para implementar todas as lógicas que utilizam ou modificam o
Leia maisExercícios de Revisão Java Básico
Exercícios de Revisão Java Básico (i) Programação básica (estruturada) 1) Faça um programa para calcular o valor das seguintes expressões: S 1 = 1 1 3 2 5 3 7 99... 4 50 S 2 = 21 50 22 49 23 48...250 1
Leia maisUFG - Instituto de Informática
UFG - Instituto de Informática Especialização em Desenvolvimento de Aplicações Web com Interfaces Ricas EJB 3.0 Prof.: Fabrízzio A A M N Soares professor.fabrizzio@gmail.com Aula 10 Persistência de Dados
Leia maisTrabalhando com conexão ao banco de dados MySQL no Lazarus. Prof. Vitor H. Migoto de Gouvêa Colégio IDESA 2011
Trabalhando com conexão ao banco de dados MySQL no Lazarus Prof. Vitor H. Migoto de Gouvêa Colégio IDESA 2011 Edição 4 O Componente Trabalhando com conexão ao banco de dados MySQL no Lazarus Ano: 03/2011
Leia maisINTRODUÇÃO AO JAVA PARA PROGRAMADORES C
PROGRAMAÇÃO SERVIDOR EM SISTEMAS WEB INTRODUÇÃO AO JAVA PARA PROGRAMADORES C Prof. Dr. Daniel Caetano 2012-1 Objetivos Apresentar a grande semelhança entre Java e C Apresentar a organização diferenciada
Leia maisLógica de Programação
Lógica de Programação Unidade 20 ArrayList: Operações de Busca Curso Técnico em Informática SUMÁRIO INTRODUÇÃO... 3 TIPOS DE BUSCAS... 3 BUSCA ESPECÍFICA... 3 BUSCA ABRANGENTE... 3 PROCEDIMENTO DE BUSCA...
Leia maisAULA 2 INTERAÇÃO COM O BANCO DE DADOS
AULA 2 INTERAÇÃO COM O BANCO DE DADOS BANCO DE DADOS POSTGRESQL O PostgreSQL é um sistema gerenciador de banco de dados dos mais robustos e avançados do mundo. Seu código é aberto e é totalmente gratuito,
Leia maisProgramação Orientada a Objetos
Programação Orientada a Objetos Engenharia da Computação Professor: Rosalvo Ferreira de Oliveira Neto Dados Pessoais Rosalvo Ferreira de Oliveira Neto MSc. em ciência da computação (UFPE) rosalvo.oliveira@univasf.edu.br
Leia maisDOCUMENTAÇÃO DO FRAMEWORK - versão 2.0
DOCUMENTAÇÃO DO FRAMEWORK - versão 2.0 Índice 1 - Objetivo 2 - Descrição do ambiente 2.1. Tecnologias utilizadas 2.2. Estrutura de pastas 2.3. Bibliotecas já incluídas 3 - Características gerais 4 - Criando
Leia maisINTRODUÇÃO À TECNOLOGIA SERVLETS
PROGRAMAÇÃO SERVIDOR EM SISTEMAS WEB INTRODUÇÃO À TECNOLOGIA SERVLETS Prof. Dr. Daniel Caetano 2012-1 Objetivos Apresentar o conceito aplicações orientada a serviços via web Apresentar o papel dos contentores
Leia maisIntrodução ao Hibernate 3
Introdução ao Hibernate 3 Maurício Linhares Mapeie o seu modelo de objetos diretamente para o banco de dados, de uma forma simples e se livrando de vez da SQL O que é o Hibernate? O Hibernate é uma ferramenta
Leia maisGuia de Fatores de Qualidade de OO e Java
Qualiti Software Processes Guia de Fatores de Qualidade de OO e Java Versã o 1.0 Este documento só pode ser utilizado para fins educacionais, no Centro de Informática da Universidade Federal de Pernambuco.
Leia mais8VDQGR5HSRUW0DQDJHUFRP&ODULRQH3RVWJUH64/ -XOLR&HVDU3HGURVR 8VDQGRSDUkPHWURV
8VDQGRSDUkPHWURV O envio de parâmetros para um relatório é uma das funções mais úteis do Report Manager, com eles você pode: Permitir que o usuário final altere palavras ou sentenças de um relatório; Atribuir
Leia maisTutorial de Computação Introdução a Programação Gráfica em Java para MEC1100 v2010.10
Tutorial de Computação Introdução a Programação Gráfica em Java para MEC1100 v2010.10 Linha de Equipamentos MEC Desenvolvidos por: Maxwell Bohr Instrumentação Eletrônica Ltda. Rua Porto Alegre, 212 Londrina
Leia mais1 Criar uma entity a partir de uma web application que usa a Framework JavaServer Faces (JSF)
Sessão Prática II JPA entities e unidades de persistência 1 Criar uma entity a partir de uma web application que usa a Framework JavaServer Faces (JSF) a) Criar um Web Application (JPAsecond) como anteriormente:
Leia maisProgramação Orientada a Objeto
Programação Orientada a Objeto Classes, Atributos, Métodos e Objetos Programação de Computadores II Professor: Edwar Saliba Júnior 1) Java é uma linguagem orientada a objetos. Para que possamos fazer uso
Leia maisSintaxe Básica de Java Parte 1
Sintaxe Básica de Java Parte 1 Universidade Católica de Pernambuco Ciência da Computação Prof. Márcio Bueno poonoite@marcioubeno.com Fonte: Material da Profª Karina Oliveira Estrutura de Programa Um programa
Leia maisSISTEMA TYR DIAGRAMAS DE CLASSE E SEQUÊNCIA Empresa: Academia Universitária
SISTEMA TYR DIAGRAMAS DE CLASSE E SEQUÊNCIA Empresa: Academia Universitária Cascavel Novembro de 2009 Pedro Patitucci Finamore Daniel Bordignon Cassanelli Marco Antonio da Rosa DIAGRAMAS DE CLASSE E SEQUÊNCIA
Leia maisFAÇA FÁCIL: DRIVER IGS PARA COMUNICAÇÃO DE PROTOCOLOS PROPRIETÁRIOS INTRODUÇÃO
FAÇA FÁCIL: DRIVER IGS PARA COMUNICAÇÃO DE PROTOCOLOS PROPRIETÁRIOS INTRODUÇÃO O Driver IGS possui um módulo de configuração que possibilita a comunicação com protocolos proprietários. Trata-se do Driver
Leia maisNa disciplina de Cálculo Numérico, vamos trabalhar com a linguagem C++ e o compilador que vamos usar é o Dev C++.
Data: 14/8 Página 1 de 9 Primeiros passos Introdução Na disciplina de Cálculo Numérico, vamos trabalhar com a linguagem C++ e o compilador que vamos usar é o Dev C++. No tutorial anterior, mostramos como
Leia mais8. Outros tipos de Transação (Modo de Transação de Autoconfirmação e Modo Implícito)
8. Outros tipos de Transação (Modo de Transação de Autoconfirmação e Modo Implícito) Nos itens anteriores vimos transações do tipo explícitas, ou seja, aquelas que iniciam com BEGIN TRANSACTION. As outras
Leia mais