Você está na página 1de 7
2eo2017 ‘Deservelvendo uma Simples Aplicagie com a Mibernats- Parte 2 Web Services Web 3.0 Wikis AdrielCafé.Com Audio Blogs Video Hibernate wobiiidade Seméantica Micron «» — Programagao, Design & Games. Android Simplicidade Games Web Standards Joomla! Facebook HTMLS5 EaD | AIAXS Miata AdrielCafé.com Pesousan loudware Za TENOLOGIAGSISTEMAS & " © ae is CAFELOG Desenvolvendo uma Simples Aplicagio com Introdusdo ao Hibernate Desenvolvendo uma simples. Mino ase Herat Aplicagdo com o Hibernate - Parte Desenvolvendo uma simples 13 Aplicagio com Hibernate: hibernate.cfg.xml e hbmoxml Introdugdo 20 HQL ey TEC Desenvolvimento de TEE Cross-Platform Mobile Apps Ut Reflexes sobre a | Web Semantica Etica na Informatica rica A Sociedade da Informacao itpfacrelcte.com eafeloghibernstlS0-dasenvalvendo-umsimples-aplicacao-com--hibernate-parte-23 w 2ea2017 Deserwelvend uma Simples Aglicagio com o Hibernate - Parte 2 Tendéncias da EaD FAD V7 85! GAMES: SEMPRE Posessins Creed mt Arma IIT Borderlands 2 ASSASINS Neg Ee Ford Continuando com a segunda parte do nosso tutorial "Desenvolvendo uma simples Aplicacio como Hibernate’, remos configurar @ Hibernate e implements Resident Evil 6 CONFIGURANDO O HIBERNATE 6 | ‘Agora iremos ctisr 9 pessoas.hbm.2e, © arquivo contendo © mapeamento da tabela ‘pessoas Com 5 tipos de dados do Hibernate e que também informa 0 POJO responsével pelo mapeamento, neste caso a classe Possoas, O arquiva deve ficar desta forma: <<< Fevereiro 207 > >> Dom Seg Ter Qua Qui Sex Sab 2] a 120304 2 | http://hibernate-sourceforge.net/nibernate-napping-3.0.ctd"> 3 | 5 6 7 8 9 wn a ‘class nane="Pessoas" table-"pessoas"> 5 ‘cid nane="ic"> 12013 1415 16 17 18 § ciate ator assnattve"/> 19 2021 22 23 24 25 a 5 u 12 | . . PARCEIROS ‘e URL do Banco de Dados, usuario, senha e habiltaremos as opgbes de mostrar 0 SQL no console da IDE com formatagdo (Apenas para faclitar © entendimento da céaigo) ea geragio de estatstieas. Repare que no final deste arquivo indicamos 6 local da pessoas. hbm.x na propriedade resource da Tag mapping © arquivo deve fcar da seguinte forma: cee ee ener eee. §~LIESO Bonfim. 2] <2eml version="2.0" encoding a 2 | http://hibernate-sourceforge.net /hibernate-configuration-3.0.dta"> 3 | chibernate-configuration> a ‘session: factory> 5 “com.mysd. 7 “property nane= eonnection-url”>Jabe:aysql:/ Loca: a ‘root w ¢ruee/property> u truec/property> Fr ‘ is ‘eapping resources"pessoas hoe. xml"/> 16 17 | cfnibernate-configuration> . SS , ACLASSE DA SESSAO [A classe Sessao seré responsavel por ler 0 arquivo n:bernace.ctg.sml e estabelecer a conexio com 0 Banco ce Dados. Nela usaremos apenas trés classes: Configuration, Session®actory e Session, A classe Consiguration & responsdvel por ler 0 arquivo hibernate.cfg.xmi e iniciar a sessio propriamente dita [classe SessionFactory possul um alto custo de cago, é deve ser criado uma tnica vez, 1 inicio da execusdo da aplicagao, a partir da instancia de uma Consiguration, Uma session é um objeto de balxo custo de criagdo e deve ser usado uma vez, para uma hitpifacrolcate.com eafeloghibornstlS0-dasenvalvendo-um-simples-aplicacao-com-o-hberate-parte-23 2ea2017 Unica requisigdo e ento deve ser descartada(s ‘Deservelvendo uma Simples Aplicagie com a Hibernate - Parte 2 sa0.cioset)) Uma transagio precisa ser o mais curta possteel, para reduzir a disputa pelo bloqueio na Base de Dados. Transacées longas impedirao que sua aplicacao seja altamente concorrente, [classe Sessao deve ficar da seguinte maneira: 1] import org.nibernate.session; 2| import org.nioernate.Sessiontactory; 3 | import ong.hoernate-cfg.configurstion; 4| public e1ase Sessao { 5 private static SessionFactory fabricasessao; é Private static Configuration hibernateconfig; 7 71 Estrutura static para garantir que a SessionFactory seja intd a Static ¢ 5 try ( 1 hibernateconfig = new Configuration() .configure(“hibern: un Fabricasessao = hisernateconfig. buildsessiontactory(); 2 stualizarsp(); a3 } catch (Exception e){ i ‘e-printstackrrace( 15 ? 16 2 v7 11 Retorna a sessio 18 public static Session getSessao(){ 19 return fabricasessao.opensession(); 2 » pr 2 11 Atualiza 0 Schona do Banco de Dados 2 private static void atualizar@0()( 2% ‘Schenalpdate se ~ new SchenaUpdate (hibernateConfie) 25 sevexecute(true, true); Pa > aly o © método ate! ears ind ser chamado assim que a conexdo com o Banco de Dados for cefetuada. Ele rd garantir que o nosso mapeamento seja“refletido" no banco de dads. ACLASSE DE PERSISTENCIA Feita a classe se .20 temos implementa na classe iibernateves junto com os métedos| select, ingertUpdace e delete Nesta classe precsaremos das classes A Session nos 2 € quem inicard a permite acessar a sessics Session e execuratd a query, A realizar SELRCT seré retornado uma List. Veja como deve fcara classe: 1] Amport java.util ArrayList: a 2] import Javacutil.tists 5 | ispore Javax. swing JOptionPanes 4| bore ong-nibernate.tibernatetxception; 5 | import org.nibernate.query: 6 | import ong.nibernate.Session; 7| import orfi.hiberaate. Transaction; 8] public class Mibernateutil { 5 private Session sesso; e private Transaction transacao; "1 private Query query: a public List select(){ 18 ListePessoas> Lista = new Arraylist(); 3 try { 16 This. sessa0 = Sessa0.getsess20(); v7 transacao = $e5590.bepinTransaction(); 18 query’ = sessa0.createQuery("fron Pessoas"); 19 Tista 2 query iise03 2 sessa0.close()3 a } catch (Hibernatetxception e) ¢ 2 JoptionPane. showessageDialog(null, “Erro a0 realizar sé 23 ecprintstackirace(); 25 Feturn Listas 2) + 2 2 public void insertUpdate(Pessoas pessoa){ 2 ‘ryt ie ‘this.sessa0 = Sessa0.getsessa0(); 3 transacao = sessao.beginTransaction(); 2 sessao.saveorUpdate(pessoa); 3 Eransacao-conmie()s u sessao.close(); 5 3optionPane. shawhessageDialog(null, “Registro salvo com 36 } cate (Hibennatetxception ©) ( ” 2OptionPane.showiessageDialog(nul1, “Erro a0 persistir « 38 esprintstackTrace(); hitpsfacrelcte.com eafeloghibernstlS0-dasenvalvendo-um-simples-aplicacao-com-ohiberate-parte-23

Você também pode gostar