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!!!