Dica Rápida: Chamando Stored Procedure em Java

Dica Rápida: Chamando Stored Procedure em Java

Warning: WP_Syntax::substituteToken(): Argument #1 ($match) must be passed by reference, value given in /home/feltexco/public_html/felix/wp-content/plugins/wp-syntax/wp-syntax.php on line 380

Warning: WP_Syntax::substituteToken(): Argument #1 ($match) must be passed by reference, value given in /home/feltexco/public_html/felix/wp-content/plugins/wp-syntax/wp-syntax.php on line 380

Warning: WP_Syntax::substituteToken(): Argument #1 ($match) must be passed by reference, value given in /home/feltexco/public_html/felix/wp-content/plugins/wp-syntax/wp-syntax.php on line 380

Warning: WP_Syntax::substituteToken(): Argument #1 ($match) must be passed by reference, value given in /home/feltexco/public_html/felix/wp-content/plugins/wp-syntax/wp-syntax.php on line 380

Dica Rápida: Chamando Stored Procedure em Java

Olá amigos hoje a dica é Stored Procedure. Muitos sistemas possuem suas regras de negócio centralizadas no banco de dados e as Stored Procedure são os objetos que realizam as operações de Inclusão, alteração, exclusão e até mesmo consulta no Banco de dados.
Por este motivo é importante sabermos trabalhar com esses objetos em Java.

Stored Procedure2

Aprenda como acessar o banco de dados MySQL aqui.

1. Estrutura de dados

Veja o script de criação da tabela.

1
2
3
4
5
6
7
CREATE TABLE tbaluno (
matricula INT NOT NULL ,
nome VARCHAR(45) NULL ,
telefone VARCHAR(45) NULL ,
email VARCHAR(45) NULL ,
datacadastro DATETIME NULL,
PRIMARY KEY (matricula));

Agora vejamos o script para geração de massa de dados:

1
2
3
4
5
6
7
8
insert into tbaluno (matricula, nome, telefone, email, datacadastro) 
values (1, 'maria da silva','5555-9887','maria.silva@feltex.com.br', '2020-10-10');
 
insert into tbaluno (matricula, nome, telefone, email, datacadastro) 
values (2, 'Jose da silva','2223-3222','jose.silva@feltex.com.br', '2020-10-10');
 
insert into tbaluno (matricula, nome, telefone, email, datacadastro) 
values (3, 'Bruna silva','4412-2234','bruna.silva@feltex.com.br', '2020-10-10');

2. Criação da stored procedure

Criaremos uma procedure que nos retorna o total de alunos existentes em nossa tabela de alunos.

1
2
3
4
5
6
 
DELIMITER $$
CREATE PROCEDURE Total_Alunos(OUT total INT)
BEGIN
	SELECT COUNT(matricula) INTO total FROM tbAluno;	
END $$

3. Chamada Java

Abaixo temos o código Java que executa a procedure e exibe o retorno.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
package br.com.feltex.jdbc.avancado;
 
import java.sql.CallableStatement;
import java.sql.Connection;
import java.sql.DriverManager;
 
public class ChamaProcedure {
 
	public static Connection getConexao() {
		Connection conexao = null;
		String usuario = "root";
		String senha = "teco01";
		String nomeBancoDados = "bdacademicnet";
 
		try {
			conexao = DriverManager.getConnection(
					"jdbc:mysql://localhost:3306/" + nomeBancoDados, usuario,
					senha);
		} catch (Exception e) {
			e.printStackTrace();
		}
		return conexao;
	}
 
	public static void main(String[] args) {
 
		CallableStatement callableStatement = null;
		Connection con = null;
 
		try {
			// Realiza a conexão com o banco de dados
			con = getConexao();
 
			//Prepara a chamada para a procedure. Observe que há "?"
			// Que neste caso é o parâmetro de saída.
			callableStatement = con.prepareCall("{CALL Total_Alunos(?)}");
 
			//Informa o tipo de retorno
			callableStatement.registerOutParameter(1, java.sql.Types.INTEGER);
 
			// Executa a Stored procedure
			callableStatement.execute();
 
			// Faz a leitura do retorno
			Integer totalAlunos = callableStatement.getInt(1);
 
			System.out.println("Total alunos: " + totalAlunos);
 
		} catch (Exception e) {
			e.printStackTrace();
		}
	}
}

Por hoje é só meus amigos e Vida que segue!

Links relacionados

Instalação e Configuração do Banco de Dados MySQL

Stored procedure MySQL

Chamando uma Stored Procedure

Não se esqueça de curtir este post nas redes sociais. Dê a sua contribuição social e ajude o autor:

Deixe um comentário