em telas, pois nada como a referencia de cada framework ou componente p/ explicar sua utilizacao, o que mostro aqui e um jeito de implementar.Adiantando, algumas coisas que faremos ?- Aprenderemos a conectar no Mysql pelo NB e armazenar um driver- Aprenderemos a utilizar e configurar o Hibernate pelo NB- Aprenderemos a fazer a engenharia reversa das tabelas do banco para as configuracoes do Hibernate gerando os arquivos de para os mappings: Hibernate Mappingna versao V1:- Introduziremos o Full Hibernate Plugin's Session Factory- Introduziremos o conceito de BO (Business Objects)- Utilizar os recursos de Injecao de dependencias do Spring:- Deixaremos a app apenas (pode ser que sobre alguma) com as libs necessarias no final do Projeto.Nesta licao adicionei o campo email:Lembrando a estrutura da nossa tabela do mysqlFigura 01 - Tabela ContatoCREATE TABLE IF NOT EXISTS `springlessons`.`contato` ( `id` INT(11) NOT NULL AUTO_INCREMENT , `nome` VARCHAR(45) NULL DEFAULT NULL , `telefone` VARCHAR(45) NULL DEFAULT NULL , `email` VARCHAR(45) NULL DEFAULT NULL , PRIMARY KEY (`id`) )ENGINE = InnoDBDEFAULT CHARACTER SET = utf8COLLATE = utf8_general_ciLet's Go. 1) Obtendo as LibsNao consegui utilizar as libs adicionadas ao projeto pelo NB. Portanto vamos adicionar algumas manualmente , e depois organizar.LIBS:Struts 2:-antlr-2.7.6.jar-commons-collections-3.1.jar-commons-fileupload-1.2.1.jar-commons-io-1.3.2.jar-commons-lang-2.3.jar-commons-logging-1.1.jar-freemarker-2.3.13.jar-javassist-3.9.0.GA.jar-ognl-2.6.11.jar-struts2-convention-plugin-2.1.6.jar-struts2-core-2.1.6.jar-struts2-fullhibernatecore-plugin-1.4-GA.jar-xwork-2.1.2.jarHibernate 3-ejb3-persistence.jar-hibernate-annotations.jar-hibernate-commons-annotations.jar-hibernate-validator.jar-hibernate3.jar-jta-1.1.jarDom4j-dom4j-1.6.1.jarapache-log4j-1.2.17-log4j-1.2.15.jarslf4j-1.7.1-slf4j-api-1.5.8.jar-slf4j-log4j12-1.5.8.jarjUnit-junit-3.8.1.jar2) Iniciando o ProjetoFigura 02 - Nova WebAppFigura 03 - Nova WebApp / SetupNao adicione nenhum Framework, vamos adicionar depois :Figura 04- Sem FrameworksFigura 05 - Lista das libs utilizadas2)-Adicionando a conexao do mysql ao NBFigura 06 - Conectando o NB ao Mysql Figura 07 - Conectando o NB ao Mysql Figura 08 - Conectando o NB ao Mysql - novo driverFigura 09 - Conectando o NB ao Mysql - Teste de conexaoFigura 10 - Driver disponiveis3)-Criando o arquivo de configuracao do Hibernate pelo NBIsso criara o arquivo hibernate.cfg.xmlFigura 11 - Gerando o arquivo hibernate.cfg.xmlFigura 12 - Gerando o arquivo hibernate.cfg.xml pelo WizardFigura 13-confirme o nome do arquivo hibernate.cfg.xmlFigura 14-Escolha a conexaoFigura 15- Arquivo gerado hibernate.cfg.xmlFigura 16 - configurando a engenharia reversa das tabelasFigura 17-confirme o nome do arquivo hibernate.revenge.xmlFigura 18-escolha as tabelas p/ gerar os mappingsFigura 19-Arquivo gerado hibernate.revenge.xml4)-Fazendo a Engenharia reversa das tabelas do schema e Adicionando o mapeamento aos camposIsso criara o arquivo hibernate.reveng.xml e os nossos Modelos Contato.java e Usuario.javaFigura 20 - fazendo a engenharia reversa das tabelasFigura 21 - fazendo a engenharia reversa das tabelas, escolha os arquivos XML criadosFigura 22 -Arquivos geradosFigura 23 -Arquivo final do hibernatehibernate.cfg.xml :<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE hibernate-configuration PUBLIC "-//Hibernate/Hibernate Configuration DTD 3.0//EN" "http://hibernate.sourceforge.net/hibernate-configuration-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://ns1:3306/springlessons?zeroDateTimeBehavior=convertToNull</property> <property name="hibernate.connection.username">springlessons</property> <property name="hibernate.connection.password">DHADdSXcDF29WGXy</property> <mapping resource="com/springlesson09/model/Usuario.hbm.xml"/> <mapping resource="com/springlesson09/model/Contato.hbm.xml"/> </session-factory></hibernate-configuration>hibernate.revenge.xml :<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE hibernate-reverse-engineering PUBLIC "-//Hibernate/Hibernate Reverse Engineering DTD 3.0//EN" "http://hibernate.sourceforge.net/hibernate-reverse-engineering-3.0.dtd"><hibernate-reverse-engineering> <schema-selection match-catalog="springlessons"/> <table-filter match-name="contato"/> <table-filter match-name="usuario"/></hibernate-reverse-engineering>Contato.hbm.xml :<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN" "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd"><!-- Generated Oct 1, 2012 11:10:50 PM by Hibernate Tools 3.2.1.GA --><hibernate-mapping> <class catalog="springlessons" name="com.springlesson09.model.Contato" table="contato"> <id name="id" type="java.lang.Integer"> <column name="id"/> <generator class="identity"/> </id> <property name="nome" type="string"> <column length="45" name="nome"/> </property> <property name="telefone" type="string"> <column length="45" name="telefone"/> </property> <property name="email" type="string"> <column length="45" name="email"/> </property> </class></hibernate-mapping>Usuario.hbm.xml :<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN" "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd"><!-- Generated Oct 1, 2012 11:10:50 PM by Hibernate Tools 3.2.1.GA --><hibernate-mapping> <class catalog="springlessons"