Buscar

Prévia do material em texto

Desenvolvimento de 
Aplicações com 
Banco de Dados
TEMA 8: SQL/DML + Java
SQL/DML + Java 
Estudo Prévio
Conceitos Básicos
MySQL 5.5 - José Augusto N. G. Manzano.
Capítulo 2: Programa MySQL 
páginas 45-47.
BONS ESTUDOS!!!
SQL/DML + Java 
Resumo
SQL+DDL - JAVA
SQL+DDL - JAVA
SQL+DDL - JAVA
Nome_tabela
indice
campo1
campo2
Classe Java
CONEXÃO JAVA JDBC
public class NOME_BANCO 

{ 

 public void ExecutaQuery() 

 {


 Connection con = 
(Connection)DriverManager.getConnection("jdbc:mysql://servidor:porta/
base", "login","senha"); 
 
 Statement stmt = con.createStatement();
 
 ResultSet rs = stmt.executeQuery("SQL QUERY");
 
 while (rs.next()) 
 System.out.println(rs.getString("NOME DA COLUNA"));
 }
}
SELECT Projeto 7
SQL+DDL - JAVA
public class NOME_BANCO 

{ 

 public void ExecutaQuery() 

 {


 Connection con = 
(Connection)DriverManager.getConnection("jdbc:mysql://servidor:porta/
base", "login","senha"); 
 
 Statement stmt = con.createStatement();
 
 int resultado = stmt.executeUpdate("SQL QUERY");
 
 if(resultado>0) System.out.println("Campo(s) alterado(s)"); 
 }
}
INSERT UPDATE DELETE
SQL+DDL - JAVA
public class NOME_BANCO 

{ 

 public void ExecutaQuery() 

 {


 Connection con = 
(Connection)DriverManager.getConnection("jdbc:mysql://servidor:porta/
base", "login","senha"); 
 
 Statement stmt = con.createStatement();
 
 int resultado = stmt.executeUpdate("SQL QUERY");
 
 if(resultado>0) System.out.println("Campo(s) alterado(s)"); 
 }
}
INSERT UPDATE DELETE
SQL+DDL - JAVA
public class NOME_BANCO 

{ 

 public void ExecutaQuery() 

 {


 Connection con = 
(Connection)DriverManager.getConnection("jdbc:mysql://servidor:porta/
base", "login","senha"); 
 
 Statement stmt = con.createStatement();
 
 int resultado = stmt.executeUpdate("SQL QUERY");
 
 if(resultado>0) System.out.println("Campo(s) alterado(s)"); 
 }
}
INSERT UPDATE DELETE
SQL Injection é uma vulnerabilidade de software que ocorre quando dados 
fornecidos pelo usuário são usados como parte de uma consulta 
SQL. Devido à validação inadequada dos dados, um invasor pode enviar 
uma instrução SQL válida que altera a lógica da consulta inicial usada pelo 
aplicativo. Como resultado, o invasor pode visualizar/modificar/excluir 
dados confidenciais de outros usuários ou até mesmo obter acesso não 
autorizado a todo o sistema.
SQL+DML - JAVA
public class NOME_BANCO 

{ 

 public void ExecutaQuery() 

 {


 Connection con = (Connection)DriverManager.getConnection("jdbc:mysql://
servidor:porta/base", 
 "login","senha"); 
 
 String ConsultaSQL = "SELECT … campo = ?”;
 PreparedStatement pstmt = con.prepareStatement(ConsultaSQL);
 
 pstmt.setString(1, "VALOR"); 
 ResultSet rs = pstmt.executeQuery();
 
 while (rs.next()) 
 System.out.println(rs.getString("NOME DA COLUNA"));
 }
}
BONS ESTUDOS!!!
SQL/DML + Java 
Exercícios
Exercícios
BONS ESTUDOS!!!
SQL/DML + Java 
Fechamento
Leitura Complementar
SQL Injection
https://www.w3schools.com/sql/sql_injection.asp
APRENDENDO MAIS
How to prevent SQL Injection vulnerabilities: 
How Prepared Statements Work
https://www.hackedu.com/blog/how-to-prevent-sql-injection-vulnerabilities-how-prepared-
statements-
work#:~:text=SQL%20Injection%20is%20a%20software,query%20used%20by%20the%20appl
ication.
BONS ESTUDOS!!!
SQL/DML + Java 
Revisão
SQL+DML - JAVA
public class NOME_BANCO 

{ 

 public void ExecutaQuery() 

 {


 Connection con = (Connection)DriverManager.getConnection("jdbc:mysql://
servidor:porta/base", 
 "login","senha"); 
 
 String ConsultaSQL = "SELECT … campo = ?”;
 PreparedStatement pstmt = con.prepareStatement(ConsultaSQL);
 
 pstmt.setString(1, "VALOR"); 
 ResultSet rs = pstmt.executeQuery();
 
 while (rs.next()) 
 System.out.println(rs.getString("NOME DA COLUNA"));
 }
}
BONS ESTUDOS!!!

Mais conteúdos dessa disciplina