![]() |
| Java Magazine 93 |
agosto 06, 2011
Por dentro do Primefaces 2.2
Postado por
Rafael van Boekel
às
12:18
0
comentários
Enviar por e-mailPostar no blog!Compartilhar no XCompartilhar no FacebookCompartilhar com o Pinterest
junho 06, 2011
JQuery com Struts - Parte II
![]() |
| Java Magazine 92 |
Saiu, na Java Magazine 92, a segunda da parte do meu artigo sobre jQuery com Struts.
Para conferir acesse:
http://www.devmedia.com.br/post-21383-jQuery-com-Struts-Parte-2--Exclusivo.html
Postado por
Rafael van Boekel
às
21:11
0
comentários
Enviar por e-mailPostar no blog!Compartilhar no XCompartilhar no FacebookCompartilhar com o Pinterest
Marcadores:
Java,
Java Magazine,
jQuery,
Struts
junho 05, 2011
Como retornar o ID de um objeto que acaba de ser salvo no banco?
Em algumas situações é interessante termos acesso ao ID (autonumerado) gerado pelo banco de dados para um objeto recém persistido.
Por exemplo, se estivermos salvando um agregado, composto por alguns objetos, é importante termos acesso ao ID do objeto raíz, para criarmos os relacionamentos nas tabelas de um banco de dados.
![]() |
| Figura 1. Exemplo de Agregado com raíz em 'Pedido' |
Sendo assim, vou mostrar como podemos fazer isso utilizando o JDBC. Neste exemplo, utilizei o banco de dados SQL Server 2005 para testes.
/**
* Método que insere objeto no banco e retorna o ID gerado
*/
public int inserir(MeuObjeto obj) throws Exception{
int idObjeto = 0;
// Algum código para abrir conexão com o banco
PreparedStatement statement = conn.prepareStatement("INSERT INTO " +
"minha_tabela " +
"(meu_objeto_campo1, " +
"meu_objeto_campo2, " +
"meu_objeto_campo3) " +
"VALUES (?, ?, ?)",
PreparedStatement.RETURN_GENERATED_KEYS);
statement.setString(1, obj.getAtributo1());
statement.setString(2, obj.getAtributo2());
statement.setString(3, obj.getAtributo3());
statement.executeUpdate();
// recupera chave do objeto
ResultSet rs = statement.getGeneratedKeys();
while(rs.next()){
idObjeto = rs.getInt(1);
}
conn.close();
// retorna o id do objeto recém inserido
return idObjeto;
}
O código acima parece muito com que estamos acostumados a fazer, a diferença está na construção do nosso PreparedStatement. Além da SQL que será executada, passamos também o parâmetro PreparedStatement.RETURN_GENERATED_KEYS. É este parâmetro que faz a "mágica" acontecer.
Ao executarmos o statement, o INSERT é realizado e o id gerado pelo banco é retornado em um ResultSet. Desta forma, temos acesso ao id do objeto, recém cadastrado, em nossa aplicação.
Postado por
Rafael van Boekel
às
15:10
0
comentários
Enviar por e-mailPostar no blog!Compartilhar no XCompartilhar no FacebookCompartilhar com o Pinterest
maio 14, 2011
JQuery com Struts - Parte I
![]() |
| Java Magazine 91 |
Saiu a primeira parte do meu artigo, sobre jQuery com Struts, na Java Magazine 91.
Para conferir basta clicar no link abaixo:
http://www.devmedia.com.br/post-21128-jQuery-com-Struts-Parte-1.html
Postado por
Rafael van Boekel
às
14:33
0
comentários
Enviar por e-mailPostar no blog!Compartilhar no XCompartilhar no FacebookCompartilhar com o Pinterest
Marcadores:
Java,
Java Magazine,
jQuery,
Struts
março 31, 2011
Configurando um pool de conexões no GlassFish

Um pool de conexões é uma espécie de cache de conexões com o banco de dados, que tem por objetivo, torná-las reutilizáveis. Assim, a comunicação com o banco torna-se mais eficiente.
Uma das grandes vantagens, quando se está trabalhando em um ambiente JAVA EE, é o fato de podermos contar com pools de conexões gerenciados pelo próprio container.
Esta característica, permite que aplicações se conectem ao banco de dados, sem que o desenvolvedor precise se preocupar com o ciclo de vida das conexões realizadas. Pois em um ambiente JAVA EE, esta tarefa é responsabilidade do container.
Contudo, para que o desenvolvedor possa contar com essa facilidade, é preciso configurar um pool de conexões. Sendo assim, vou mostrar como isto pode ser feito, utilizando o servidor de aplicações GlassFish e o banco de dados PostgreSQL.
- Copie o driver do PostgreSQL para a pasta [GLASSFISH_HOME]/glassfish/domains/domain1/lib/ (domain default). Para isso, basta baixar o driver jdbc4, correspondente à sua versão do PostgreSQL, em http://jdbc.postgresql.org. Desta forma, não será mais preciso utilizar o driver diretamente no classpath (pasta 'lib') de suas aplicações.
- Reinicie o servidor para que ele passe a utilizar o driver.
- Após a reinicialização, vá ao console de administração (normalmente porta 4848 - ex.: http://localhost:4848/) e selecione a opção Resources/JDBC/Connection Pools, no menu à esquerda.
- Clique no botão 'New...'. Defina o nome que achar melhor para o pool de conexões (ex.: meuBancoPool). Selecione a opção javax.sql.ConnectionPoolDataSource na combo 'Resource Type' e selecione PostgreSQL em 'Database Vendor'. Clique no botão 'Next'.
- Selecione o 'Datasource Classname' org.portgresql.ds.PGConnectionPoolDataSource, na combo. Em seguida, vá ao final da página e informe os seguintes dados: DatabaseName=[nome-do-banco], Password=[senha-do-banco], PortNumber=5432 (porta default), ServerName=[nome-do-servidor ou ip], User=[usuario-do-banco].
- Clique em 'Finish' para salvar o pool.
- Agora que o pool de conexões foi criado, é hora testá-lo. Para isso, selecione o pool recém criado e clique em 'Ping'. A mensagem "Ping Succeeded", indica que tudo está funcionando corretamente.
- Com o pool criado e testado, falta apenas permitir que suas aplicações o utilizem. Sendo assim, é preciso criar um nome JNDI para ele. Vá ao menu Resources/JDBC/JDBC Resources, especifique o nome no formato jdbc/[nome-do-banco], selecione o pool de conexões criado nos passos anteriores e clique em 'OK', para finalizar. Este nome deverá ser utilizado nas aplicações, para permitir a comunicação com o banco de dados através do pool de conexões.
Postado por
Rafael van Boekel
às
00:32
1 comentários
Enviar por e-mailPostar no blog!Compartilhar no XCompartilhar no FacebookCompartilhar com o Pinterest
Marcadores:
container,
GlassFish,
JAVA EE,
JNDI,
Pool de Conexões,
PostgreSQL
março 15, 2011
TDD na prática
![]() |
| Java Magazine 89 |
Escrevi um artigo sobre TDD, para a Java Magazine deste mês.
Nele, eu mostro o desenvolvimento de uma aplicação utilizando a técnica de Test-Driven Development (TDD).
Para conferir, basta acessar:
http://www.devmedia.com.br/post-20154-TDD-na-pratica.html
Postado por
Rafael van Boekel
às
14:11
0
comentários
Enviar por e-mailPostar no blog!Compartilhar no XCompartilhar no FacebookCompartilhar com o Pinterest
Marcadores:
Java Magazine,
JPA,
Struts,
TDD,
Tomcat
janeiro 06, 2011
Java e Domain-Driven Design com JSF, EJB e JPA
![]() |
| Java Magazine 87 |
Vale a pena conferir!
Link para o artigo:
http://www.devmedia.com.br/post-19019-Java-e-Domain-Driven-Design-na-pratica.html
Link para a revista:
http://www.devmedia.com.br/post-19022-Revista-Java-Magazine-87.html
Postado por
Rafael van Boekel
às
14:01
0
comentários
Enviar por e-mailPostar no blog!Compartilhar no XCompartilhar no FacebookCompartilhar com o Pinterest
Marcadores:
EJB,
GlassFish,
Java Magazine,
JPA,
JSF
Assinar:
Comentários (Atom)





