SlideShare a Scribd company logo
1 of 41
JDBC Java Database Connectivity ,[object Object],[object Object]
Problema ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Solução ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
JDBC
Categorias de Drivers ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Categorias de Drivers
JavaDB = SUN + Apache Derby ,[object Object],[object Object]
JavaDB = SUN + Apache Derby ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
JavaDB = SUN + Apache Derby Embarcado Cliente-Servidor
JavaDB = SUN + Apache Derby ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
JavaDB = SUN + Apache Derby ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Passos para uso do JDBC ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Conectando com o banco ,[object Object],[object Object],[object Object],[object Object],[object Object]
Conectando com o banco ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Conectando com o banco ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
URL ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Conectando com o banco - MySQL import  java.sql.Connection; import  java.sql.DriverManager; import  java.sql.SQLException; public   class  ExemplolJDBC { public   static   void  main(String[] args) { try  { Class. forName ( "com.mysql.jdbc.Driver" ); Connection con = DriverManager. getConnection ( "jdbc:mysql://localhost/posbd4" , "root" , "root" ); System. out .println( "Conectado" ); con.close(); }  catch  (ClassNotFoundException e) { e.printStackTrace(); }  catch  (SQLException e) { e.printStackTrace(); } } }
Conectando com o banco - JavaDB import  java.sql.Connection; import  java.sql.DriverManager; import  java.sql.SQLException; public   class  ExemplolJDBC { public   static   void  main(String[] args) { try  { Class. forName ( "org.apache.derby.jdbc.EmbeddedDriver" ); Connection con = DriverManager. getConnection ( "jdbc:derby:posbd4; create=true" ); System. out .println( "Conectado" ); con.close(); }  catch  (ClassNotFoundException e) { e.printStackTrace(); }  catch  (SQLException e) { e.printStackTrace(); } } }
Fábrica de conexões - MySQL import  java.sql.Connection; import  java.sql.DriverManager; import  java.sql.SQLException; public   class  ConnectionFactory { public   static  Connection getConnection()  throws  SQLException { try  { Class. forName ( "com.mysql.jdbc.Driver" ); return  DriverManager. getConnection ( "jdbc:mysql://localhost/posbd4" , "root" , "root" ); }  catch  (ClassNotFoundException e) { throw   new  SQLException(e.getMessage()); } } }
Fábrica de conexões - JavaDB import  java.sql.Connection; import  java.sql.DriverManager; import  java.sql.SQLException; public   class  ConnectionFactory { public   static  Connection getConnection()  throws  SQLException { try  { Class. forName ( "org.apache.derby.jdbc.EmbeddedDriver" ); return  DriverManager. getConnection ( "jdbc:derby:posbd4; create=true") ; }  catch  (ClassNotFoundException e) { throw   new  SQLException(e.getMessage()); } } }
Comandos SQL ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Comandos SQL ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Executando um comando SQL // ... PreparedStatement stmt = con.prepareStatement( "insert into contatos (nome,email,endereco) values (?,?,?)" ); stmt.setString(1,  "Caelum" ); stmt.setString(2,  "contato@caelum.com.br" ); stmt.setString(3,  "R. Vergueiro 3185 cj57" ); stmt.executeUpdate(); stmt.close(); // ... ,[object Object],[object Object],[object Object],[object Object],[object Object]
ResultSet ,[object Object],// ... PreparedStatement stmt =  this .con.prepareStatement( &quot;select * from contatos&quot; ); ResultSet rs = stmt.executeQuery(); List<Contato> contatos =  new  ArrayList<Contato>(); while  (rs.next()) { Contato contato =  new  Contato(); contato.setNome(rs.getString( &quot;nome&quot; )); contato.setEmail(rs.getString( &quot;email&quot; )); contato.setEndereco(rs.getString( &quot;endereco&quot; )); contatos.add(contato); } rs.close(); stmt.close(); return  contatos;
Result Set ,[object Object],[object Object],[object Object],[object Object],[object Object]
Recuperando dados de ResultSets ,[object Object],[object Object],[object Object],[object Object],[object Object]
Recuperando dados de ResultSets getBigDecimal()  DECIMAL
Passos para uso do JDBC ,[object Object]
Fechando recursos ,[object Object],[object Object],[object Object],[object Object],try  { // ... }  catch  (SQLException e) { // ... }  finally  { try  { con.close(); }  catch  (SQLException e) { // ... } }
Transações ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Fechando recursos com uso de transação // ... Connection conn = null; try  { conn = ConnectionFactory.getConnection(); conn.setAutoCommit( false ); // ... conn.commit(); }  catch  (SQLException ex) { try  { conn.rollback(); }  catch  (SQLException e) { // ... } }  finally  { try  { conn.close(); }  catch (SQLException ex){ // ... } }
DataSource ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
DataSource ,[object Object],[object Object],[object Object],[object Object],... Context initContext =  new  InitialContext(); Context envContext = (Context)initContext.lookup( &quot;java:/comp/env&quot; ); DataSource ds = (DataSource)envContext.lookup( &quot;jdbc/cefet&quot; ); conn = ds.getConnection()); ...
RowSet ,[object Object],[object Object],[object Object],[object Object],[object Object]
Versões do JDBC ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Versões do JDBC ,[object Object],[object Object],[object Object],[object Object]
Versões do JDBC ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Versões do JDBC ,[object Object],[object Object],[object Object]
Versões do JDBC class  User { int   userID ; String  name ; String  department ; } interface  MyQueries  extends  BaseQuery { @ Query(sql= &quot;select * from user&quot; ) DataSet getAllUsers(); @ Query(sql= &quot;select * from user where department= {department}&quot; ) DataSet getDepartmentUsers(String department); @ Update(sql= &quot;delete from user where name= {userName}&quot; ) int  deleteUser(String userName); @ Update(sql= &quot;update user set department={department} where &quot; +  &quot;name= {userName}&quot; ) int  updateDeparment(String userName, String department); }
Versões do JDBC ... Connection c = myDataSource.getConnection(); MyQueries q = c.createQueryObject(MyQueries. class ); DataSet users = q.getAllUsers(); for  (User u: users) { System.out.println( &quot;User's name is: &quot;  + user.name; } ... ... Connection c = myDataSource.getConnection(); MyQueries q = c.createQueryObject(MyQueries. class ); DataSet users = q.create(); User user =  new  User(); user.setUserID(1); user.setName( &quot;Joe&quot; ); user.setDeparment( &quot;Accounting&quot; ); users.insert(user); ...
Referências ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]

More Related Content

What's hot

55 New Things in Java 7 - Brazil
55 New Things in Java 7 - Brazil55 New Things in Java 7 - Brazil
55 New Things in Java 7 - BrazilStephen Chin
 
Conectando seu banco de dados usando jdbc
Conectando seu banco de dados usando jdbcConectando seu banco de dados usando jdbc
Conectando seu banco de dados usando jdbcJeison Barros
 
Persistência Java: Hibernate e JPA
Persistência Java: Hibernate e JPAPersistência Java: Hibernate e JPA
Persistência Java: Hibernate e JPACaelum
 
Java Web 4 - Servlets e JSP 2
Java Web 4 - Servlets e JSP 2Java Web 4 - Servlets e JSP 2
Java Web 4 - Servlets e JSP 2Eduardo Mendes
 
Trabalho teorico de Linguagem de Programação
Trabalho teorico de Linguagem de ProgramaçãoTrabalho teorico de Linguagem de Programação
Trabalho teorico de Linguagem de Programaçãocarlosveiga
 
Cactus - Testes em J2EE com Jakarta Cactus
Cactus - Testes em J2EE com Jakarta CactusCactus - Testes em J2EE com Jakarta Cactus
Cactus - Testes em J2EE com Jakarta CactusDenis L Presciliano
 
Java web 6 JSP Expression Language Taglib parte 2
Java web 6 JSP Expression Language Taglib parte 2Java web 6 JSP Expression Language Taglib parte 2
Java web 6 JSP Expression Language Taglib parte 2Eduardo Mendes
 
Persistência com JPA usando o NetBeans 7
Persistência com JPA usando o NetBeans 7Persistência com JPA usando o NetBeans 7
Persistência com JPA usando o NetBeans 7Claudio Martins
 
Java Web - MVC básico com JSP e Servlets
Java Web - MVC básico com JSP e ServletsJava Web - MVC básico com JSP e Servlets
Java Web - MVC básico com JSP e ServletsEduardo Mendes
 
Como construir aplicações gráficas e applets
Como construir aplicações gráficas e appletsComo construir aplicações gráficas e applets
Como construir aplicações gráficas e appletsDenis L Presciliano
 
Silo.tips aula 4-jdbc-java-database-connectivity
Silo.tips aula 4-jdbc-java-database-connectivitySilo.tips aula 4-jdbc-java-database-connectivity
Silo.tips aula 4-jdbc-java-database-connectivityffeitosa
 
Curso de WebServlets (Java EE 7)
Curso de WebServlets (Java EE 7)Curso de WebServlets (Java EE 7)
Curso de WebServlets (Java EE 7)Helder da Rocha
 
Curso de RESTful WebServices em Java com JAX-RS (Java EE 7)
Curso de RESTful WebServices em Java com JAX-RS (Java EE 7)Curso de RESTful WebServices em Java com JAX-RS (Java EE 7)
Curso de RESTful WebServices em Java com JAX-RS (Java EE 7)Helder da Rocha
 
Apostila Java Web (Servlets e JSPs)
Apostila Java Web (Servlets e JSPs)Apostila Java Web (Servlets e JSPs)
Apostila Java Web (Servlets e JSPs)Ricardo Terra
 
Java Web 3 - Servlets e JSP 1
Java Web 3 - Servlets e JSP 1Java Web 3 - Servlets e JSP 1
Java Web 3 - Servlets e JSP 1Eduardo Mendes
 

What's hot (20)

55 New Things in Java 7 - Brazil
55 New Things in Java 7 - Brazil55 New Things in Java 7 - Brazil
55 New Things in Java 7 - Brazil
 
Fundamentos de JDBC
Fundamentos de JDBCFundamentos de JDBC
Fundamentos de JDBC
 
Conectando seu banco de dados usando jdbc
Conectando seu banco de dados usando jdbcConectando seu banco de dados usando jdbc
Conectando seu banco de dados usando jdbc
 
Persistência Java: Hibernate e JPA
Persistência Java: Hibernate e JPAPersistência Java: Hibernate e JPA
Persistência Java: Hibernate e JPA
 
Java Web 4 - Servlets e JSP 2
Java Web 4 - Servlets e JSP 2Java Web 4 - Servlets e JSP 2
Java Web 4 - Servlets e JSP 2
 
Trabalho teorico de Linguagem de Programação
Trabalho teorico de Linguagem de ProgramaçãoTrabalho teorico de Linguagem de Programação
Trabalho teorico de Linguagem de Programação
 
Tutorial +login+mvc
Tutorial +login+mvcTutorial +login+mvc
Tutorial +login+mvc
 
Cactus - Testes em J2EE com Jakarta Cactus
Cactus - Testes em J2EE com Jakarta CactusCactus - Testes em J2EE com Jakarta Cactus
Cactus - Testes em J2EE com Jakarta Cactus
 
Java web 6 JSP Expression Language Taglib parte 2
Java web 6 JSP Expression Language Taglib parte 2Java web 6 JSP Expression Language Taglib parte 2
Java web 6 JSP Expression Language Taglib parte 2
 
Aula1
Aula1Aula1
Aula1
 
Persistência com JPA usando o NetBeans 7
Persistência com JPA usando o NetBeans 7Persistência com JPA usando o NetBeans 7
Persistência com JPA usando o NetBeans 7
 
Java Web - MVC básico com JSP e Servlets
Java Web - MVC básico com JSP e ServletsJava Web - MVC básico com JSP e Servlets
Java Web - MVC básico com JSP e Servlets
 
Como construir aplicações gráficas e applets
Como construir aplicações gráficas e appletsComo construir aplicações gráficas e applets
Como construir aplicações gráficas e applets
 
Silo.tips aula 4-jdbc-java-database-connectivity
Silo.tips aula 4-jdbc-java-database-connectivitySilo.tips aula 4-jdbc-java-database-connectivity
Silo.tips aula 4-jdbc-java-database-connectivity
 
Curso de WebServlets (Java EE 7)
Curso de WebServlets (Java EE 7)Curso de WebServlets (Java EE 7)
Curso de WebServlets (Java EE 7)
 
Curso de RESTful WebServices em Java com JAX-RS (Java EE 7)
Curso de RESTful WebServices em Java com JAX-RS (Java EE 7)Curso de RESTful WebServices em Java com JAX-RS (Java EE 7)
Curso de RESTful WebServices em Java com JAX-RS (Java EE 7)
 
Spring Data Jpa
Spring Data JpaSpring Data Jpa
Spring Data Jpa
 
Apostila Java Web (Servlets e JSPs)
Apostila Java Web (Servlets e JSPs)Apostila Java Web (Servlets e JSPs)
Apostila Java Web (Servlets e JSPs)
 
Java Web 3 - Servlets e JSP 1
Java Web 3 - Servlets e JSP 1Java Web 3 - Servlets e JSP 1
Java Web 3 - Servlets e JSP 1
 
Jdbc
JdbcJdbc
Jdbc
 

Viewers also liked

Java não é tão difícil quanto parece
Java não é tão difícil quanto pareceJava não é tão difícil quanto parece
Java não é tão difícil quanto parecejesuinoPower
 
Serviços Escaláveis e de Alta Performance com MySQL e Java
Serviços Escaláveis e de Alta Performance com MySQL e JavaServiços Escaláveis e de Alta Performance com MySQL e Java
Serviços Escaláveis e de Alta Performance com MySQL e JavaMySQL Brasil
 
Engenharia de software testes
Engenharia de software  testesEngenharia de software  testes
Engenharia de software testesAdilmar Dantas
 
Aplicações desktop (GUI) e aplicações ricas para internet (RIA)
Aplicações desktop (GUI) e aplicações ricas para internet (RIA)Aplicações desktop (GUI) e aplicações ricas para internet (RIA)
Aplicações desktop (GUI) e aplicações ricas para internet (RIA)Raphael Marques
 
Bibliotecas de interface rica no jsf 2
Bibliotecas de interface rica no jsf 2Bibliotecas de interface rica no jsf 2
Bibliotecas de interface rica no jsf 2Pablo Nóbrega
 
Tutorial: Gerando Relatórios Com JasperReports e iReports no Netbeans
Tutorial: Gerando Relatórios Com JasperReports e iReports no NetbeansTutorial: Gerando Relatórios Com JasperReports e iReports no Netbeans
Tutorial: Gerando Relatórios Com JasperReports e iReports no NetbeansFlávio Araújo
 

Viewers also liked (7)

Java não é tão difícil quanto parece
Java não é tão difícil quanto pareceJava não é tão difícil quanto parece
Java não é tão difícil quanto parece
 
Serviços Escaláveis e de Alta Performance com MySQL e Java
Serviços Escaláveis e de Alta Performance com MySQL e JavaServiços Escaláveis e de Alta Performance com MySQL e Java
Serviços Escaláveis e de Alta Performance com MySQL e Java
 
Java
JavaJava
Java
 
Engenharia de software testes
Engenharia de software  testesEngenharia de software  testes
Engenharia de software testes
 
Aplicações desktop (GUI) e aplicações ricas para internet (RIA)
Aplicações desktop (GUI) e aplicações ricas para internet (RIA)Aplicações desktop (GUI) e aplicações ricas para internet (RIA)
Aplicações desktop (GUI) e aplicações ricas para internet (RIA)
 
Bibliotecas de interface rica no jsf 2
Bibliotecas de interface rica no jsf 2Bibliotecas de interface rica no jsf 2
Bibliotecas de interface rica no jsf 2
 
Tutorial: Gerando Relatórios Com JasperReports e iReports no Netbeans
Tutorial: Gerando Relatórios Com JasperReports e iReports no NetbeansTutorial: Gerando Relatórios Com JasperReports e iReports no Netbeans
Tutorial: Gerando Relatórios Com JasperReports e iReports no Netbeans
 

Similar to JDBC Java Database Connectivity Regis Pires Magalhães

Introdução à programação para web com Java - Módulo 01: Conexão com bamco de...
Introdução à programação para web com Java -  Módulo 01: Conexão com bamco de...Introdução à programação para web com Java -  Módulo 01: Conexão com bamco de...
Introdução à programação para web com Java - Módulo 01: Conexão com bamco de...Professor Samuel Ribeiro
 
Apostila: Curso de java III
Apostila: Curso de java IIIApostila: Curso de java III
Apostila: Curso de java IIIVerônica Veiga
 
1102 banco-de-dados-com-java-jdbc
1102 banco-de-dados-com-java-jdbc1102 banco-de-dados-com-java-jdbc
1102 banco-de-dados-com-java-jdbcJamille Madureira
 
Java database connectivity jdbc
Java database connectivity   jdbcJava database connectivity   jdbc
Java database connectivity jdbcDinarte Filho
 
Curso de Java (Parte 5)
Curso de Java (Parte 5)Curso de Java (Parte 5)
Curso de Java (Parte 5)Mario Sergio
 
Apresentação Java Web Si Ufc Quixadá
Apresentação Java Web Si Ufc QuixadáApresentação Java Web Si Ufc Quixadá
Apresentação Java Web Si Ufc QuixadáZarathon Maia
 
Bancos de dados e jdbc java para desenvolvimento web
Bancos de dados e jdbc   java para desenvolvimento webBancos de dados e jdbc   java para desenvolvimento web
Bancos de dados e jdbc java para desenvolvimento websilvio_sas
 
Criando APIs com Node e TypeScript
Criando APIs com Node e TypeScriptCriando APIs com Node e TypeScript
Criando APIs com Node e TypeScriptAndre Baltieri
 
Jdbc e maria db
Jdbc e maria dbJdbc e maria db
Jdbc e maria dbmaxrosan
 
Introdução ao ASP.NET 3.5 - Campus Party Brasil 2009
Introdução ao ASP.NET 3.5 - Campus Party Brasil 2009Introdução ao ASP.NET 3.5 - Campus Party Brasil 2009
Introdução ao ASP.NET 3.5 - Campus Party Brasil 2009Ramon Durães
 
Curso de Java (Parte 7) Web Application
Curso de Java (Parte 7) Web ApplicationCurso de Java (Parte 7) Web Application
Curso de Java (Parte 7) Web ApplicationMario Sergio
 
Workshop Ruby on Rails dia 2 ruby-pt
Workshop Ruby on Rails dia 2  ruby-ptWorkshop Ruby on Rails dia 2  ruby-pt
Workshop Ruby on Rails dia 2 ruby-ptPedro Sousa
 
Aplicações de tempo real com Meteor.js
Aplicações de tempo real com Meteor.jsAplicações de tempo real com Meteor.js
Aplicações de tempo real com Meteor.jsRafael Sales
 
Java Comunicação Serial
Java Comunicação SerialJava Comunicação Serial
Java Comunicação SerialAndrei Bastos
 
Dsi 015 - poo e php - conexão com bancos de dados usando pdo
Dsi   015 - poo e php - conexão com bancos de dados usando pdoDsi   015 - poo e php - conexão com bancos de dados usando pdo
Dsi 015 - poo e php - conexão com bancos de dados usando pdoJorge Luís Gregório
 
Sistema S2DG e Tecnologias Web
Sistema S2DG e Tecnologias WebSistema S2DG e Tecnologias Web
Sistema S2DG e Tecnologias WebElenilson Vieira
 

Similar to JDBC Java Database Connectivity Regis Pires Magalhães (20)

Fundamentos de JDBC
Fundamentos de JDBCFundamentos de JDBC
Fundamentos de JDBC
 
Introdução à programação para web com Java - Módulo 01: Conexão com bamco de...
Introdução à programação para web com Java -  Módulo 01: Conexão com bamco de...Introdução à programação para web com Java -  Módulo 01: Conexão com bamco de...
Introdução à programação para web com Java - Módulo 01: Conexão com bamco de...
 
Apostila: Curso de java III
Apostila: Curso de java IIIApostila: Curso de java III
Apostila: Curso de java III
 
1102 banco-de-dados-com-java-jdbc
1102 banco-de-dados-com-java-jdbc1102 banco-de-dados-com-java-jdbc
1102 banco-de-dados-com-java-jdbc
 
CURSO JAVA 01
CURSO JAVA 01CURSO JAVA 01
CURSO JAVA 01
 
Java database connectivity jdbc
Java database connectivity   jdbcJava database connectivity   jdbc
Java database connectivity jdbc
 
Curso de Java (Parte 5)
Curso de Java (Parte 5)Curso de Java (Parte 5)
Curso de Java (Parte 5)
 
Apresentação Java Web Si Ufc Quixadá
Apresentação Java Web Si Ufc QuixadáApresentação Java Web Si Ufc Quixadá
Apresentação Java Web Si Ufc Quixadá
 
Java13
Java13Java13
Java13
 
Bancos de dados e jdbc java para desenvolvimento web
Bancos de dados e jdbc   java para desenvolvimento webBancos de dados e jdbc   java para desenvolvimento web
Bancos de dados e jdbc java para desenvolvimento web
 
Criando APIs com Node e TypeScript
Criando APIs com Node e TypeScriptCriando APIs com Node e TypeScript
Criando APIs com Node e TypeScript
 
Jdbc e maria db
Jdbc e maria dbJdbc e maria db
Jdbc e maria db
 
Introdução ao ASP.NET 3.5 - Campus Party Brasil 2009
Introdução ao ASP.NET 3.5 - Campus Party Brasil 2009Introdução ao ASP.NET 3.5 - Campus Party Brasil 2009
Introdução ao ASP.NET 3.5 - Campus Party Brasil 2009
 
Curso de Java (Parte 7) Web Application
Curso de Java (Parte 7) Web ApplicationCurso de Java (Parte 7) Web Application
Curso de Java (Parte 7) Web Application
 
Introdução ao JDBC - BarreirasJUG
Introdução ao JDBC - BarreirasJUGIntrodução ao JDBC - BarreirasJUG
Introdução ao JDBC - BarreirasJUG
 
Workshop Ruby on Rails dia 2 ruby-pt
Workshop Ruby on Rails dia 2  ruby-ptWorkshop Ruby on Rails dia 2  ruby-pt
Workshop Ruby on Rails dia 2 ruby-pt
 
Aplicações de tempo real com Meteor.js
Aplicações de tempo real com Meteor.jsAplicações de tempo real com Meteor.js
Aplicações de tempo real com Meteor.js
 
Java Comunicação Serial
Java Comunicação SerialJava Comunicação Serial
Java Comunicação Serial
 
Dsi 015 - poo e php - conexão com bancos de dados usando pdo
Dsi   015 - poo e php - conexão com bancos de dados usando pdoDsi   015 - poo e php - conexão com bancos de dados usando pdo
Dsi 015 - poo e php - conexão com bancos de dados usando pdo
 
Sistema S2DG e Tecnologias Web
Sistema S2DG e Tecnologias WebSistema S2DG e Tecnologias Web
Sistema S2DG e Tecnologias Web
 

More from Regis Magalhães

Prog web 01-php-introducao
Prog web 01-php-introducaoProg web 01-php-introducao
Prog web 01-php-introducaoRegis Magalhães
 
Prog web 02-php-primeiros-passos
Prog web 02-php-primeiros-passosProg web 02-php-primeiros-passos
Prog web 02-php-primeiros-passosRegis Magalhães
 
Prog web 00-modelo-cliente_servidor_web
Prog web 00-modelo-cliente_servidor_webProg web 00-modelo-cliente_servidor_web
Prog web 00-modelo-cliente_servidor_webRegis Magalhães
 
Prog web 03-php-sessoes-cookies_cabecalhos
Prog web 03-php-sessoes-cookies_cabecalhosProg web 03-php-sessoes-cookies_cabecalhos
Prog web 03-php-sessoes-cookies_cabecalhosRegis Magalhães
 
Prog web 03-php-sessoes-cookies_cabecalhos
Prog web 03-php-sessoes-cookies_cabecalhosProg web 03-php-sessoes-cookies_cabecalhos
Prog web 03-php-sessoes-cookies_cabecalhosRegis Magalhães
 
Prog web 02-php-primeiros-passos
Prog web 02-php-primeiros-passosProg web 02-php-primeiros-passos
Prog web 02-php-primeiros-passosRegis Magalhães
 
Prog web 02-php-primeiros-passos
Prog web 02-php-primeiros-passosProg web 02-php-primeiros-passos
Prog web 02-php-primeiros-passosRegis Magalhães
 
Prog web 00-modelo-cliente_servidor_web
Prog web 00-modelo-cliente_servidor_webProg web 00-modelo-cliente_servidor_web
Prog web 00-modelo-cliente_servidor_webRegis Magalhães
 
Prog web 01-php-introducao
Prog web 01-php-introducaoProg web 01-php-introducao
Prog web 01-php-introducaoRegis Magalhães
 
Linked Data Tutorial - Conferencia W3C Brasil 2011
Linked Data Tutorial - Conferencia W3C Brasil 2011Linked Data Tutorial - Conferencia W3C Brasil 2011
Linked Data Tutorial - Conferencia W3C Brasil 2011Regis Magalhães
 
Linked Data - Minicurso - SBBD 2011
Linked Data - Minicurso - SBBD 2011Linked Data - Minicurso - SBBD 2011
Linked Data - Minicurso - SBBD 2011Regis Magalhães
 

More from Regis Magalhães (20)

High Dimensional Data
High Dimensional DataHigh Dimensional Data
High Dimensional Data
 
Web Scale Data Management
Web Scale Data ManagementWeb Scale Data Management
Web Scale Data Management
 
PHP 10 CodeIgniter
PHP 10 CodeIgniterPHP 10 CodeIgniter
PHP 10 CodeIgniter
 
Prog web 01-php-introducao
Prog web 01-php-introducaoProg web 01-php-introducao
Prog web 01-php-introducao
 
Prog web 02-php-primeiros-passos
Prog web 02-php-primeiros-passosProg web 02-php-primeiros-passos
Prog web 02-php-primeiros-passos
 
Prog web 00-modelo-cliente_servidor_web
Prog web 00-modelo-cliente_servidor_webProg web 00-modelo-cliente_servidor_web
Prog web 00-modelo-cliente_servidor_web
 
Prog web 09-php-crud-mvc
Prog web 09-php-crud-mvcProg web 09-php-crud-mvc
Prog web 09-php-crud-mvc
 
Prog web 08-php-mvc
Prog web 08-php-mvcProg web 08-php-mvc
Prog web 08-php-mvc
 
Prog web 07-pdo
Prog web 07-pdoProg web 07-pdo
Prog web 07-pdo
 
Prog web 06-php-oo
Prog web 06-php-ooProg web 06-php-oo
Prog web 06-php-oo
 
Prog web 05-php-mysql
Prog web 05-php-mysqlProg web 05-php-mysql
Prog web 05-php-mysql
 
Prog web 04-php-gd
Prog web 04-php-gdProg web 04-php-gd
Prog web 04-php-gd
 
Prog web 03-php-sessoes-cookies_cabecalhos
Prog web 03-php-sessoes-cookies_cabecalhosProg web 03-php-sessoes-cookies_cabecalhos
Prog web 03-php-sessoes-cookies_cabecalhos
 
Prog web 03-php-sessoes-cookies_cabecalhos
Prog web 03-php-sessoes-cookies_cabecalhosProg web 03-php-sessoes-cookies_cabecalhos
Prog web 03-php-sessoes-cookies_cabecalhos
 
Prog web 02-php-primeiros-passos
Prog web 02-php-primeiros-passosProg web 02-php-primeiros-passos
Prog web 02-php-primeiros-passos
 
Prog web 02-php-primeiros-passos
Prog web 02-php-primeiros-passosProg web 02-php-primeiros-passos
Prog web 02-php-primeiros-passos
 
Prog web 00-modelo-cliente_servidor_web
Prog web 00-modelo-cliente_servidor_webProg web 00-modelo-cliente_servidor_web
Prog web 00-modelo-cliente_servidor_web
 
Prog web 01-php-introducao
Prog web 01-php-introducaoProg web 01-php-introducao
Prog web 01-php-introducao
 
Linked Data Tutorial - Conferencia W3C Brasil 2011
Linked Data Tutorial - Conferencia W3C Brasil 2011Linked Data Tutorial - Conferencia W3C Brasil 2011
Linked Data Tutorial - Conferencia W3C Brasil 2011
 
Linked Data - Minicurso - SBBD 2011
Linked Data - Minicurso - SBBD 2011Linked Data - Minicurso - SBBD 2011
Linked Data - Minicurso - SBBD 2011
 

JDBC Java Database Connectivity Regis Pires Magalhães

  • 1.
  • 2.
  • 3.
  • 5.
  • 7.
  • 8.
  • 9. JavaDB = SUN + Apache Derby Embarcado Cliente-Servidor
  • 10.
  • 11.
  • 12.
  • 13.
  • 14.
  • 15.
  • 16.
  • 17. Conectando com o banco - MySQL import java.sql.Connection; import java.sql.DriverManager; import java.sql.SQLException; public class ExemplolJDBC { public static void main(String[] args) { try { Class. forName ( &quot;com.mysql.jdbc.Driver&quot; ); Connection con = DriverManager. getConnection ( &quot;jdbc:mysql://localhost/posbd4&quot; , &quot;root&quot; , &quot;root&quot; ); System. out .println( &quot;Conectado&quot; ); con.close(); } catch (ClassNotFoundException e) { e.printStackTrace(); } catch (SQLException e) { e.printStackTrace(); } } }
  • 18. Conectando com o banco - JavaDB import java.sql.Connection; import java.sql.DriverManager; import java.sql.SQLException; public class ExemplolJDBC { public static void main(String[] args) { try { Class. forName ( &quot;org.apache.derby.jdbc.EmbeddedDriver&quot; ); Connection con = DriverManager. getConnection ( &quot;jdbc:derby:posbd4; create=true&quot; ); System. out .println( &quot;Conectado&quot; ); con.close(); } catch (ClassNotFoundException e) { e.printStackTrace(); } catch (SQLException e) { e.printStackTrace(); } } }
  • 19. Fábrica de conexões - MySQL import java.sql.Connection; import java.sql.DriverManager; import java.sql.SQLException; public class ConnectionFactory { public static Connection getConnection() throws SQLException { try { Class. forName ( &quot;com.mysql.jdbc.Driver&quot; ); return DriverManager. getConnection ( &quot;jdbc:mysql://localhost/posbd4&quot; , &quot;root&quot; , &quot;root&quot; ); } catch (ClassNotFoundException e) { throw new SQLException(e.getMessage()); } } }
  • 20. Fábrica de conexões - JavaDB import java.sql.Connection; import java.sql.DriverManager; import java.sql.SQLException; public class ConnectionFactory { public static Connection getConnection() throws SQLException { try { Class. forName ( &quot;org.apache.derby.jdbc.EmbeddedDriver&quot; ); return DriverManager. getConnection ( &quot;jdbc:derby:posbd4; create=true&quot;) ; } catch (ClassNotFoundException e) { throw new SQLException(e.getMessage()); } } }
  • 21.
  • 22.
  • 23.
  • 24.
  • 25.
  • 26.
  • 27. Recuperando dados de ResultSets getBigDecimal() DECIMAL
  • 28.
  • 29.
  • 30.
  • 31. Fechando recursos com uso de transação // ... Connection conn = null; try { conn = ConnectionFactory.getConnection(); conn.setAutoCommit( false ); // ... conn.commit(); } catch (SQLException ex) { try { conn.rollback(); } catch (SQLException e) { // ... } } finally { try { conn.close(); } catch (SQLException ex){ // ... } }
  • 32.
  • 33.
  • 34.
  • 35.
  • 36.
  • 37.
  • 38.
  • 39. Versões do JDBC class User { int userID ; String name ; String department ; } interface MyQueries extends BaseQuery { @ Query(sql= &quot;select * from user&quot; ) DataSet getAllUsers(); @ Query(sql= &quot;select * from user where department= {department}&quot; ) DataSet getDepartmentUsers(String department); @ Update(sql= &quot;delete from user where name= {userName}&quot; ) int deleteUser(String userName); @ Update(sql= &quot;update user set department={department} where &quot; + &quot;name= {userName}&quot; ) int updateDeparment(String userName, String department); }
  • 40. Versões do JDBC ... Connection c = myDataSource.getConnection(); MyQueries q = c.createQueryObject(MyQueries. class ); DataSet users = q.getAllUsers(); for (User u: users) { System.out.println( &quot;User's name is: &quot; + user.name; } ... ... Connection c = myDataSource.getConnection(); MyQueries q = c.createQueryObject(MyQueries. class ); DataSet users = q.create(); User user = new User(); user.setUserID(1); user.setName( &quot;Joe&quot; ); user.setDeparment( &quot;Accounting&quot; ); users.insert(user); ...
  • 41.