Bean Comum
package modelo;
public class Usuario
{
private int identificador;
private String nome;
private String informacoes;
public int getIdentificador()
{
return identificador;
}
public void setIdentificador(int identificador)
{
this.identificador = identificador;
}
public String getNome()
{
return nome;
}
public void setNome(String nome)
{
this.nome = nome;
}
public String getInformacoes()
{
return informacoes;
}
public void setInformacoes(String informacoes)
{
this.informacoes = informacoes;
}
@Override
public String toString()
{
return "Usuario [identificador=" + identificador + ", nome=" + nome + ", informacoes="
+ informacoes + "]";
}
}
Script SQL para o bean comum
mysql> desc usuario;
+-------------+-------------+------+-----+---------+----------------+
| Campo | Tipo | Nulo | Chave | Padrão | Extra |
+-------------+-------------+------+-----+---------+----------------+
| id | int(11) | NÃO | PRI | NULL | auto_increment |
| nome | varchar(20) | SIM | | NULL | |
| informacoes | varchar(50) | SIM | | NULL | |
+-------------+-------------+------+-----+---------+----------------+
- Struts
web.xml
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" version="2.5">
<filter>
<filter-name>struts2</filter-name>
<filter-class>
org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter</filter-class>
</filter>
<filter-mapping>
<filter-name>struts2</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
</web-app>
struts.xml
<?xml version="1.0" encoding="UTF-8"?>
<struts>
<!-- Configuração do pacote, nomeado como struts -->
<package name="struts" extends='struts-default'>
<!-- Configuração da Action -->
<action name="saudacao" class="com.exemplo.struts.web.action.Saudacao">
<!-- Configuração dos resultados de retorno -->
<result name="sucesso">/jsp/comum/sucesso.jsp</result>
<result name="erro">/jsp/comum/erro.jsp</result>
</action>
<action name="autenticar" class="com.exemplo.struts.web.action.Autenticacao">
<result name="sucesso">/jsp/comum/sucesso.jsp</result>
<result name="erro">/jsp/comum/erro.jsp</result>
</action>
</package>
</struts>
Dependências de pacote
- Spring
applicationContext.xml
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:p="http://www.springframework.org/schema/p"
xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.0.xsd">
<bean id="usuario" class="com.exemplo.spring.web.domain.Usuario">
<property name="identificador" value="1"></property>
<property name="nome" value="João Silva"></property>
<property name="informacoes" value="desenvolvedor java!"></property>
</bean>
</beans>
Código de teste
package com.exemplo.spring.teste;
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;
public class Teste
{
public static void main(String[] args)
{
ApplicationContext contexto = new ClassPathXmlApplicationContext("applicationContext.xml");
Object usuario = contexto.getBean("usuario");
System.out.println(usuario);
}
}
Depandências de pacote
- Hiberntae
Usuario.hbm.xml
<?xml version="1.0" encoding="UTF-8"?>
<hibernate-mapping>
<class name="modelo.Usuario">
<id name="identificador">
<generator class="native" />
</id>
<property name="nome" />
<property name="informacoes" />
</class>
</hibernate-mapping>
hibernate.cfg.xml
<?xml version="1.0" encoding="UTF-8"?>
<hibernate-configuration>
<session-factory>
<property name="hibernate.connection.driver_class">com.mysql.jdbc.Driver</property>
<property name="hibernate.connection.url">jdbc:mysql://localhost:3306/bancodados</property>
<property name="hibernate.connection.username">admin</property>
<property name="hibernate.connection.password">senha123</property>
<property name="hibernate.dialect">org.hibernate.dialect.MySQLDialect</property>
<property name="hibernate.show_sql">true</property>
<mapping resource="modelo/Usuario.hbm.xml"/>
</session-factory>
</hibernate-configuration>
Código de teste
package teste;
import org.hibernate.Session;
import org.hibernate.SessionFactory;
import org.hibernate.cfg.Configuration;
import modelo.Usuario;
public class Cliente
{
public static void main(String[] args)
{
Configuration cfg = new Configuration().configure();
SessionFactory fabrica = cfg.buildSessionFactory();
// Obter session
Session sessao = null;
try
{
sessao = fabrica.openSession();
// Iniciar transação
sessao.beginTransaction();
Usuario usuario = new Usuario();
usuario.setNome("Maria Santos");
usuario.setInformacoes("analista de sistemas");
// Salvar objeto Usuario
sessao.save(usuario);
// Commit da transação
sessao.getTransaction().commit();
}
catch (Exception e)
{
e.printStackTrace();
// Rollback da transação
sessao.getTransaction().rollback();
}
finally
{
if (sessao != null)
{
if (sessao.isOpen())
{
// Fechar session
sessao.close();
}
}
}
}
}
Dependências de pacote