Documentos de Académico
Documentos de Profesional
Documentos de Cultura
JDBC PDF
JDBC PDF
-DYD'DWDEDVH&RQQHFWLYLW\
JDBC
JDBC
Qu es JDBC?
Cuatro tipos de drivers JDBC
Uso de JDBC
&RQW
Qu es JDBC?
JDBC en accin
SURJUDPD
-DYD
GULYHU
SDUD2UDFOH
DB
-'%&
GULYHU
SDUDP\VTO
MGEFRGEF
SXHQWH
GULYHU
RGEF
DB
DB
7\SH,
%ULGJH
2'%&
7\SH,,
1DWLYH
-'%&
2'%&
'ULYHU
&/,OLE
0LGGOHZDUH
6HUYHU
7\SH,,,
0LGGOHZDUH
7\SH,9
3XUH
&OLHQW
6HUYHU
BD
&OLHQW
-DYD
-'%& 2'%&
ODBC
3URWRFRO
ODBC
6HUYHU
%'
&RQWLQXHG
&OLHQW
6HUYHU
BD
&OLHQW
-DYD
-'%&
1DWLYH
$3,
Native
3URWRFRO
Native
6HUYHU
%'
&OLHQW
6HUYHU
BD
&OLHQW
-DYD
-'%&
Standard
3URWRFRO
middleware Native
6HUYHU 6HUYHU
%'
6HUYHU
BD
&OLHQW
-DYD
-'%&
Native
3URWRFRO
Native
6HUYHU
%'
Drivers JDBC
Una lista de diversos drivers pueden ser encontrados
(freeware, shareware, and commercial) en:
http://developers.sun.com/product/jdbc/drivers
10
&"#'(")*+,)(-./,
")*+,)(-./,
$0%12
com.mysql.jdbc.Driver
".3.4.5,(6!2(78)/.39
jdbc:mysql://hostname/databaseName
")*+,)(-./,9
:).;<,
oracle.jdbc.driver.OracleDriver
".3.4.5,(6!2(78)/.39
jdbc:oracle:thin@hostname:portnumber:databaseName
")*+,)(-./,9
"#=
COM.ibm.db2.jdbc.net.DB2Driver
".3.4.5,(6!2(78)/.39
jdbc:db2:hostname:portnumber/databaseName
")*+,)(-./,9
>;;,55
sun.jdbc.odbc.JdbcOdbcDriver
".3.4.5,(6!2(78)/.39
jdbc:odbc:databaseName
11
12
Si ya instalaron el driver
en el JDK, dentro de la
carpeta:
/jre/lib/ext
Netbeans puede
accesarlo ya que cargar
todas las libreras del
JDK
13
Con el botn derecho en el folder Libraries seleccionar Add Library y despus MySQL JDBC Driver
Proyecto con la
librera para
MySQL incluida
14
Secuencia JDBC
Todos los programas JDBC hacen lo siguiente:
1) Cargan el driver JDBC
2) Especifican el nombre y ubicacin de la base de
datos utilizada
3) Se conectan a la base de datos creando un objeto
Connection
&RQWLQXHG
15
16
Class.forName("com.mysql.jdbc.Driver")
Class.forName( "sun.jdbc.odbc.JdbcOdbcDriver" );
www.mysql.com/products/connector/j/
17
Conectar
String url = "jdbc:odbc:Books";
String username = "anonymous";
String password = "guest";
connection = DriverManager.getConnection(url, username, password );
ODBC
MySQL
:4A,3*+8
%3.3,/,B3((;),.3,%3.3,/,B3
%3.3,/,B3((;),.3,%3.3,/,B3CD
;),.3,%3.3,/,B3CD
".3.4.5,$,3.".3. E,3$,3.".3.CD
488<,.B((*5'<85,@CD
+8*@(;8//*3CD
+8*@()8<<4.;QCD
19
$?38@8
:4A,3*+8
+8*@(5,3>F38'8//*3(C488<,.B(0BD
+8*@(;<85,CD
'*,)). <.(;8B,U*LBK
20
Statement
Un objeto de tipo Statement se obtiene invocando el mtodo
;),.3,%3.3,/,B3CD @, FB 84A,38 '8BB,;3*8B.
Permite enviar comandos SQL a la base de datos. Ejemplos:
Statement myStmt = connection.createStatement();
ResultSet myResult;
myResult=myStmt.executeQuery(SELECT * FROM bikes;);
21
Prepared Statement
Los Prepared Statements se utilizan para consultas que se
ejecutan muchas veces
El DBMS las compila una sola vez
En lugar de datos, se utiliza el signo de interrogacin ? como
marcador. Los datos se agregan despues de la compilacin.
Los marcadores ? deben ser sustituidos por datos concretos
antes de ejecutar losPrepared Statements.
22
Prepared Statement
String queryStr =
"SELECT * FROM Items " +
"WHERE Name = ? and Cost < ?";
PreparedStatement pstmt = con.prepareStatement(queryStr);
pstmt.setString(1, "shirt");
pstmt.setInt(2, 1000);
ResultSet rs = pstmt.executeQuery();
23
ResultSet
Un objeto ResultSet es similar a un arreglo de dos dimensiones. Cada
llamada a next() apunta al siguiente registro en el result set.
24
SQL
Java Type
Method
BIT
boolean
getBoolean()
TINYINT
byte
getByte()
SMALLINT
short
getShort()
INTEGER
int
getInt()
BIGINT
long
getLong()
REAL
float
getFloat()
FLOAT
double
getDouble()
DOUBLE
double
getDouble()
DECIMAL
java.math.BigDecimal
getBigDecimal()
NUMERIC
java.sql.Numeric
getNumeric()
CHAR
String
getString()
VARCHAR
String
getString()
LONGVARCHAR
InputStream
getAsciiStream()
getUnicodeStream()
BINARY
byte[]
getBytes()
LONGVARBINARY
InputStream
getBinaryStream()
DATE
java.sql.Date
getDate()
TIME
java.sql.Time
getTime()
TIMESTAMP
java.sql.Timestamp
getTimestamp()
25
ResultSetMetadata
Es un objeto que puede ser utilizado para obtener informacin
sobre los tipos de datos y propiedades de las columnas de un
objeto ResultSet.
26
27
Ejemplos JDBC
Statement MyStmt = con.createStatement();
Strings SQL usan
MyStm.executeUpdate("CREATE TABLE Sells " + "(bar VARCHAR(40),
comillas simples ''
beer VARCHAR(40), price REAL)" );
MyStm.executeUpdate("INSERT INTO Sells " +
"VALUES ('Bar Of Foo', 'BudLite', 2.00)" );
String sqlString = "CREATE TABLE Bars " +
"(name VARCHAR(40), address VARCHAR(80), license INT)" ;
MyStm.executeUpdate(sqlString);
Ejemplos JDBC
Statement stmt = con.createStatement();
String bar, beer ;
float price ;
ResultSet rs = stmt.executeQuery("SELECT * FROM Sells");
while ( rs.next() ) {
bar = rs.getString("bar");
beer = rs.getString("beer");
price = rs.getFloat("price");
System.out.println(bar + " sells " + beer + " for " + price + " Dollars.");
}
29
Para 64 bits:
Entrar en C:\Windows\SysWOW64
Click derecho en odbcad32.exe -> Ejecutar como administrador y ya se
puede agregar accdb
30
31
32
33
Books
34
35
38
40
41
43
45
import java.sql.*;
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
import java.util.*;
public class TableDisplay extends JFrame {
private Connection connection;
private JTable table;
46
47