SlideShare una empresa de Scribd logo
1 de 10
ESCUELA DE INGENIERIA DE SISTEMAS Y
TELEMATICA
INTEGRANTES :
• REYNA REYNAGA ASUNTA PATRICIA
• RUIZ PLACENCIA LUZ VERONICA
PREPARED
STATEMENT
DEFINICION
USOS
PROPIEDADES
DEFINICION
La interfaz PreparedStatement hereda de Statement y difiere de
esta en dos maneras.
Las instancias de PreparedStatement contienen una sentencia SQL
que ya ha sido compilada. Esto es lo que hace que se le llame
‘preparada’.
PreparedStatement tiene un grupo de métodos que fijan los valores
de los parámetros IN, los cuales son enviados a la base de datos
cuando se procesa la sentencia SQL.
Son muy útiles cuando una sentencia SQL se ejecuta muchas veces
cambiando sólo algunos valores.
Se utiliza para enviar sentencias SQL pre compiladas con uno o más
parámetros.
Se crea un objeto PreparedStatement especificando la plantilla y los lugares donde
irán los parámetros.
Los parámetros son especificados después utilizando los métodos setXXX(.) indicando
el número de parámetro y el dato a insertar en la sentencia.
La sentencia SQL y los parámetros se envían a la base de datos cuando se llama al
método: executeXXX()
USO
Cuando trabajamos con una base de datos es posible que haya
sentencias SQL que tengamos que ejecutar varias veces durante la
sesión, aunque sea con distintos parámetros. Por ejemplo, durante una
sesión con base de datos podemos querer insertar varios registros en
una tabla.
mysql> INSERT INTO person VALUES (null, 23, 'Pedro', 'Perez');
mysql> INSERT INTO person VALUES (null, 33, 'Rodrigo', 'Rodriquez');
El mecanismo que preven las bases de datos para hacer más eficiente este proceso es
que le indiquemos, previamente, el tipo de sentencia que vamos a usar, de forma que
la base de datos la "precompila" y la guarda en condiciones de ser ejecutada
inmediatamente, sin necesidad de analizarla en cada caso. Esto es lo que se conoce
como una prepared statement. En el caso de mysql, se haría de esta forma
mysql> PREPARE insertar FROM "INSERT INTO person VALUES (null, ?, ?, ?)";
mysql> SET @edad=23;
mysql> SET @nombre='Pedro';
mysql> SET @apellido='Perez';
mysql> EXECUTE insertar USING @edad,@nombre,@apellido
mysql> SET @edad=33;
mysql> SET @nombre='Rodrigo';
mysql> SET @apellido='Rodriguez';
mysql> EXECUTE insertar USING @edad,@nombre,@apellido;
mysql> DEALLOCATE PREPARE insertar;
Si tenemos una conexión a una base de datos y vamos a desplegar
nuestro código por diferentes entornos será muy útil el utilizar
propiedades de conexión JDBC. La idea es que en cada entorno de
ejecución: desarrollo, implantación y producción es probable que
tengamos información de acceso a la base de datos diferente.
PROPIEDADES
La idea es crear un fichero de propiedades. Para el ejemplo vamos a
hacerlo directamente por código:
atributos de configuración que esté esperando la base de datos. Por ejemplo
si utilizamos una base de datos MySQL podemos encontrar algunos como:
 jdbcCompliantTruncation, para forzar truncado de campos en
inserción.
 cachePrepStmts, cachear los PreparedStatement
 enableQueryTimeouts, activar timeouts en la ejecución de las queries.
 roundRobinLoadBalance, para balancear con nodos esclavos.
 autoReconnect, para haver failover sobre un nodo esclavo.
.
EJEMPLO
.//Creamos un objeto PreparedStatement desde el objeto Connection
PreparedStatement ps = con.prepareStatement(
"select * from Propietarios where DNI=? AND NOMBRE=? AND EDAD=?");
//Seteamos los datos al prepared statement de la siguiente forma:
ps.setString(1, dni);
ps.setString(2, nombre);
ps.setInt(3, edad);
//Ejecutamos el PreparedStatement, en este caso con executeQuery()
ResultSet rs= ps.executeQuery();
INGENIERIA SISTEMAS

Más contenido relacionado

La actualidad más candente (19)

Conexión Java - MySql
Conexión Java - MySqlConexión Java - MySql
Conexión Java - MySql
 
Java con base de datos
Java con base de datosJava con base de datos
Java con base de datos
 
Ejemplo Base de Datos SQLite (Android)
Ejemplo Base de Datos SQLite (Android)Ejemplo Base de Datos SQLite (Android)
Ejemplo Base de Datos SQLite (Android)
 
Statement
StatementStatement
Statement
 
PHP y MySQL
PHP y MySQLPHP y MySQL
PHP y MySQL
 
Java con Base de Datos
Java con Base de DatosJava con Base de Datos
Java con Base de Datos
 
PreparedStatement
PreparedStatementPreparedStatement
PreparedStatement
 
Java con base de datos
Java con base de datosJava con base de datos
Java con base de datos
 
Java con Base de Datos
Java con Base de Datos Java con Base de Datos
Java con Base de Datos
 
Prepared statement
Prepared statementPrepared statement
Prepared statement
 
Año del buen servicio al cuidadano
Año del buen servicio al cuidadanoAño del buen servicio al cuidadano
Año del buen servicio al cuidadano
 
Procedimientos almacenados en MySQL
Procedimientos almacenados en MySQLProcedimientos almacenados en MySQL
Procedimientos almacenados en MySQL
 
Objeto Connection
Objeto ConnectionObjeto Connection
Objeto Connection
 
Objeto Statement
Objeto StatementObjeto Statement
Objeto Statement
 
Statement
Statement Statement
Statement
 
Transacciones
TransaccionesTransacciones
Transacciones
 
Statement
StatementStatement
Statement
 
Espacio de nombres System.Data.SQLClient
Espacio de nombres System.Data.SQLClientEspacio de nombres System.Data.SQLClient
Espacio de nombres System.Data.SQLClient
 
Statement
StatementStatement
Statement
 

Destacado

Teletrabajo en la administracion publica
Teletrabajo en la administracion publicaTeletrabajo en la administracion publica
Teletrabajo en la administracion publicaKIMVERLY QUISPE LUPACA
 
El teletrabajo en la administración publica
El teletrabajo en la administración publicaEl teletrabajo en la administración publica
El teletrabajo en la administración publicalizyaneth
 
RESUME - CHUKWUEBEUKA CHUKWUEDOZIE U
RESUME - CHUKWUEBEUKA CHUKWUEDOZIE URESUME - CHUKWUEBEUKA CHUKWUEDOZIE U
RESUME - CHUKWUEBEUKA CHUKWUEDOZIE Uebuka edozie
 
Fiscalidad en internet
Fiscalidad en internetFiscalidad en internet
Fiscalidad en internetlizyaneth
 
RESUME - CHUKWUEBEUKA CHUKWUEDOZIE U
RESUME - CHUKWUEBEUKA CHUKWUEDOZIE URESUME - CHUKWUEBEUKA CHUKWUEDOZIE U
RESUME - CHUKWUEBEUKA CHUKWUEDOZIE Uebuka edozie
 
Diapositivas de-resulset (1)
Diapositivas de-resulset (1)Diapositivas de-resulset (1)
Diapositivas de-resulset (1)Patricia Reyna
 
payments-modernization
payments-modernizationpayments-modernization
payments-modernizationManoj Mishra
 
Rc Hells - Τηλεκατευθυνομενα ελικοπτερα
Rc Hells - Τηλεκατευθυνομενα ελικοπτεραRc Hells - Τηλεκατευθυνομενα ελικοπτερα
Rc Hells - Τηλεκατευθυνομενα ελικοπτεραHeliland.com
 
Control jtable con base de datos
Control jtable con base de datosControl jtable con base de datos
Control jtable con base de datosPatricia Reyna
 

Destacado (16)

El cuento (2)
El cuento (2)El cuento (2)
El cuento (2)
 
Teletrabajo en la administracion publica
Teletrabajo en la administracion publicaTeletrabajo en la administracion publica
Teletrabajo en la administracion publica
 
El teletrabajo en la administración publica
El teletrabajo en la administración publicaEl teletrabajo en la administración publica
El teletrabajo en la administración publica
 
RESUME - CHUKWUEBEUKA CHUKWUEDOZIE U
RESUME - CHUKWUEBEUKA CHUKWUEDOZIE URESUME - CHUKWUEBEUKA CHUKWUEDOZIE U
RESUME - CHUKWUEBEUKA CHUKWUEDOZIE U
 
Andrea
AndreaAndrea
Andrea
 
Fiscalidad en internet
Fiscalidad en internetFiscalidad en internet
Fiscalidad en internet
 
Fiscalidad en internet
Fiscalidad en internetFiscalidad en internet
Fiscalidad en internet
 
Derechos fundamentales en internet
Derechos fundamentales en internetDerechos fundamentales en internet
Derechos fundamentales en internet
 
El cuento (2)
El cuento (2)El cuento (2)
El cuento (2)
 
RESUME - CHUKWUEBEUKA CHUKWUEDOZIE U
RESUME - CHUKWUEBEUKA CHUKWUEDOZIE URESUME - CHUKWUEBEUKA CHUKWUEDOZIE U
RESUME - CHUKWUEBEUKA CHUKWUEDOZIE U
 
Diapositivas de-resulset (1)
Diapositivas de-resulset (1)Diapositivas de-resulset (1)
Diapositivas de-resulset (1)
 
payments-modernization
payments-modernizationpayments-modernization
payments-modernization
 
Rc Hells - Τηλεκατευθυνομενα ελικοπτερα
Rc Hells - Τηλεκατευθυνομενα ελικοπτεραRc Hells - Τηλεκατευθυνομενα ελικοπτερα
Rc Hells - Τηλεκατευθυνομενα ελικοπτερα
 
Reports
ReportsReports
Reports
 
Control jtable con base de datos
Control jtable con base de datosControl jtable con base de datos
Control jtable con base de datos
 
Statement
StatementStatement
Statement
 

Similar a INGENIERIA SISTEMAS

Similar a INGENIERIA SISTEMAS (20)

Clase conexion java - Analisis de Sistemas
Clase conexion java - Analisis de SistemasClase conexion java - Analisis de Sistemas
Clase conexion java - Analisis de Sistemas
 
Prepared statement
Prepared statementPrepared statement
Prepared statement
 
Prepared Statement
Prepared StatementPrepared Statement
Prepared Statement
 
Tópicos Avanzados de Programación - Unidad 4 Acceso a datos
Tópicos Avanzados de Programación - Unidad 4 Acceso a datosTópicos Avanzados de Programación - Unidad 4 Acceso a datos
Tópicos Avanzados de Programación - Unidad 4 Acceso a datos
 
Unidad 9. acceso a base de datos desde java
Unidad 9. acceso a base de datos desde javaUnidad 9. acceso a base de datos desde java
Unidad 9. acceso a base de datos desde java
 
Prepared statement
Prepared statementPrepared statement
Prepared statement
 
Curso php dia4
Curso php dia4Curso php dia4
Curso php dia4
 
Prepared statement
Prepared statementPrepared statement
Prepared statement
 
Preparedstatement(grupal)
Preparedstatement(grupal)Preparedstatement(grupal)
Preparedstatement(grupal)
 
Statement
StatementStatement
Statement
 
preparedStatement
preparedStatementpreparedStatement
preparedStatement
 
Instalación del conector de MySQL para Visual Studio
Instalación del conector de MySQL para Visual StudioInstalación del conector de MySQL para Visual Studio
Instalación del conector de MySQL para Visual Studio
 
Jyoc java-cap16 persistencia. bases de datos
Jyoc java-cap16 persistencia. bases de datosJyoc java-cap16 persistencia. bases de datos
Jyoc java-cap16 persistencia. bases de datos
 
Acceso a datos con JAVA
Acceso a datos con JAVAAcceso a datos con JAVA
Acceso a datos con JAVA
 
Trabajo de sistemas de informacion
Trabajo de sistemas de informacionTrabajo de sistemas de informacion
Trabajo de sistemas de informacion
 
JAVA CON BASE DE DATOS
JAVA CON BASE DE DATOSJAVA CON BASE DE DATOS
JAVA CON BASE DE DATOS
 
Java y Bases de Datos
Java y Bases de DatosJava y Bases de Datos
Java y Bases de Datos
 
Java y Bases Datos
Java y Bases DatosJava y Bases Datos
Java y Bases Datos
 
Bases Datos en java
Bases Datos en javaBases Datos en java
Bases Datos en java
 
Inyección_sql
Inyección_sqlInyección_sql
Inyección_sql
 

Más de Patricia Reyna (11)

ETL
ETLETL
ETL
 
Ejecutables
EjecutablesEjecutables
Ejecutables
 
Jdbc
JdbcJdbc
Jdbc
 
Connec
ConnecConnec
Connec
 
Block
BlockBlock
Block
 
Ado.net
Ado.netAdo.net
Ado.net
 
Programación en capass
Programación en capassProgramación en capass
Programación en capass
 
Trabajo de software
Trabajo de softwareTrabajo de software
Trabajo de software
 
Java con base de datos
Java con base de datosJava con base de datos
Java con base de datos
 
Jdbc
JdbcJdbc
Jdbc
 
Java
JavaJava
Java
 

Último

CHARLA DE INDUCCIÓN SEGURIDAD Y SALUD OCUPACIONAL
CHARLA DE INDUCCIÓN SEGURIDAD Y SALUD OCUPACIONALCHARLA DE INDUCCIÓN SEGURIDAD Y SALUD OCUPACIONAL
CHARLA DE INDUCCIÓN SEGURIDAD Y SALUD OCUPACIONALKATHIAMILAGRITOSSANC
 
Manual_Identificación_Geoformas_140627.pdf
Manual_Identificación_Geoformas_140627.pdfManual_Identificación_Geoformas_140627.pdf
Manual_Identificación_Geoformas_140627.pdfedsonzav8
 
¿QUE SON LOS AGENTES FISICOS Y QUE CUIDADOS TENER.pptx
¿QUE SON LOS AGENTES FISICOS Y QUE CUIDADOS TENER.pptx¿QUE SON LOS AGENTES FISICOS Y QUE CUIDADOS TENER.pptx
¿QUE SON LOS AGENTES FISICOS Y QUE CUIDADOS TENER.pptxguillermosantana15
 
Elaboración de la estructura del ADN y ARN en papel.pdf
Elaboración de la estructura del ADN y ARN en papel.pdfElaboración de la estructura del ADN y ARN en papel.pdf
Elaboración de la estructura del ADN y ARN en papel.pdfKEVINYOICIAQUINOSORI
 
Curso intensivo de soldadura electrónica en pdf
Curso intensivo de soldadura electrónica  en pdfCurso intensivo de soldadura electrónica  en pdf
Curso intensivo de soldadura electrónica en pdfFernandaGarca788912
 
Propositos del comportamiento de fases y aplicaciones
Propositos del comportamiento de fases y aplicacionesPropositos del comportamiento de fases y aplicaciones
Propositos del comportamiento de fases y aplicaciones025ca20
 
Comite Operativo Ciberseguridad 012020.pptx
Comite Operativo Ciberseguridad 012020.pptxComite Operativo Ciberseguridad 012020.pptx
Comite Operativo Ciberseguridad 012020.pptxClaudiaPerez86192
 
estadisticasII Metodo-de-la-gran-M.pdf
estadisticasII   Metodo-de-la-gran-M.pdfestadisticasII   Metodo-de-la-gran-M.pdf
estadisticasII Metodo-de-la-gran-M.pdfFlorenciopeaortiz
 
Reporte de Exportaciones de Fibra de alpaca
Reporte de Exportaciones de Fibra de alpacaReporte de Exportaciones de Fibra de alpaca
Reporte de Exportaciones de Fibra de alpacajeremiasnifla
 
Seleccion de Fusibles en media tension fusibles
Seleccion de Fusibles en media tension fusiblesSeleccion de Fusibles en media tension fusibles
Seleccion de Fusibles en media tension fusiblesSaulSantiago25
 
Unidad 3 Administracion de inventarios.pptx
Unidad 3 Administracion de inventarios.pptxUnidad 3 Administracion de inventarios.pptx
Unidad 3 Administracion de inventarios.pptxEverardoRuiz8
 
clases de dinamica ejercicios preuniversitarios.pdf
clases de dinamica ejercicios preuniversitarios.pdfclases de dinamica ejercicios preuniversitarios.pdf
clases de dinamica ejercicios preuniversitarios.pdfDanielaVelasquez553560
 
MANIOBRA Y CONTROL INNOVATIVO LOGO PLC SIEMENS
MANIOBRA Y CONTROL INNOVATIVO LOGO PLC  SIEMENSMANIOBRA Y CONTROL INNOVATIVO LOGO PLC  SIEMENS
MANIOBRA Y CONTROL INNOVATIVO LOGO PLC SIEMENSLuisLobatoingaruca
 
Una estrategia de seguridad en la nube alineada al NIST
Una estrategia de seguridad en la nube alineada al NISTUna estrategia de seguridad en la nube alineada al NIST
Una estrategia de seguridad en la nube alineada al NISTFundación YOD YOD
 
Presentación N° 1 INTRODUCCIÓN Y CONCEPTOS DE GESTIÓN AMBIENTAL.pdf
Presentación N° 1 INTRODUCCIÓN Y CONCEPTOS DE GESTIÓN AMBIENTAL.pdfPresentación N° 1 INTRODUCCIÓN Y CONCEPTOS DE GESTIÓN AMBIENTAL.pdf
Presentación N° 1 INTRODUCCIÓN Y CONCEPTOS DE GESTIÓN AMBIENTAL.pdfMIGUELANGELCONDORIMA4
 
Sesión 02 TIPOS DE VALORIZACIONES CURSO Cersa
Sesión 02 TIPOS DE VALORIZACIONES CURSO CersaSesión 02 TIPOS DE VALORIZACIONES CURSO Cersa
Sesión 02 TIPOS DE VALORIZACIONES CURSO CersaXimenaFallaLecca1
 
Introducción a los sistemas neumaticos.ppt
Introducción a los sistemas neumaticos.pptIntroducción a los sistemas neumaticos.ppt
Introducción a los sistemas neumaticos.pptEduardoCorado
 
Magnetismo y electromagnetismo principios
Magnetismo y electromagnetismo principiosMagnetismo y electromagnetismo principios
Magnetismo y electromagnetismo principiosMarceloQuisbert6
 
El proyecto “ITC SE Lambayeque Norte 220 kV con seccionamiento de la LT 220 kV
El proyecto “ITC SE Lambayeque Norte 220 kV con seccionamiento de la LT 220 kVEl proyecto “ITC SE Lambayeque Norte 220 kV con seccionamiento de la LT 220 kV
El proyecto “ITC SE Lambayeque Norte 220 kV con seccionamiento de la LT 220 kVSebastianPaez47
 

Último (20)

CHARLA DE INDUCCIÓN SEGURIDAD Y SALUD OCUPACIONAL
CHARLA DE INDUCCIÓN SEGURIDAD Y SALUD OCUPACIONALCHARLA DE INDUCCIÓN SEGURIDAD Y SALUD OCUPACIONAL
CHARLA DE INDUCCIÓN SEGURIDAD Y SALUD OCUPACIONAL
 
Manual_Identificación_Geoformas_140627.pdf
Manual_Identificación_Geoformas_140627.pdfManual_Identificación_Geoformas_140627.pdf
Manual_Identificación_Geoformas_140627.pdf
 
¿QUE SON LOS AGENTES FISICOS Y QUE CUIDADOS TENER.pptx
¿QUE SON LOS AGENTES FISICOS Y QUE CUIDADOS TENER.pptx¿QUE SON LOS AGENTES FISICOS Y QUE CUIDADOS TENER.pptx
¿QUE SON LOS AGENTES FISICOS Y QUE CUIDADOS TENER.pptx
 
Elaboración de la estructura del ADN y ARN en papel.pdf
Elaboración de la estructura del ADN y ARN en papel.pdfElaboración de la estructura del ADN y ARN en papel.pdf
Elaboración de la estructura del ADN y ARN en papel.pdf
 
Curso intensivo de soldadura electrónica en pdf
Curso intensivo de soldadura electrónica  en pdfCurso intensivo de soldadura electrónica  en pdf
Curso intensivo de soldadura electrónica en pdf
 
Propositos del comportamiento de fases y aplicaciones
Propositos del comportamiento de fases y aplicacionesPropositos del comportamiento de fases y aplicaciones
Propositos del comportamiento de fases y aplicaciones
 
Comite Operativo Ciberseguridad 012020.pptx
Comite Operativo Ciberseguridad 012020.pptxComite Operativo Ciberseguridad 012020.pptx
Comite Operativo Ciberseguridad 012020.pptx
 
estadisticasII Metodo-de-la-gran-M.pdf
estadisticasII   Metodo-de-la-gran-M.pdfestadisticasII   Metodo-de-la-gran-M.pdf
estadisticasII Metodo-de-la-gran-M.pdf
 
Reporte de Exportaciones de Fibra de alpaca
Reporte de Exportaciones de Fibra de alpacaReporte de Exportaciones de Fibra de alpaca
Reporte de Exportaciones de Fibra de alpaca
 
Seleccion de Fusibles en media tension fusibles
Seleccion de Fusibles en media tension fusiblesSeleccion de Fusibles en media tension fusibles
Seleccion de Fusibles en media tension fusibles
 
Unidad 3 Administracion de inventarios.pptx
Unidad 3 Administracion de inventarios.pptxUnidad 3 Administracion de inventarios.pptx
Unidad 3 Administracion de inventarios.pptx
 
clases de dinamica ejercicios preuniversitarios.pdf
clases de dinamica ejercicios preuniversitarios.pdfclases de dinamica ejercicios preuniversitarios.pdf
clases de dinamica ejercicios preuniversitarios.pdf
 
MANIOBRA Y CONTROL INNOVATIVO LOGO PLC SIEMENS
MANIOBRA Y CONTROL INNOVATIVO LOGO PLC  SIEMENSMANIOBRA Y CONTROL INNOVATIVO LOGO PLC  SIEMENS
MANIOBRA Y CONTROL INNOVATIVO LOGO PLC SIEMENS
 
Una estrategia de seguridad en la nube alineada al NIST
Una estrategia de seguridad en la nube alineada al NISTUna estrategia de seguridad en la nube alineada al NIST
Una estrategia de seguridad en la nube alineada al NIST
 
Presentación N° 1 INTRODUCCIÓN Y CONCEPTOS DE GESTIÓN AMBIENTAL.pdf
Presentación N° 1 INTRODUCCIÓN Y CONCEPTOS DE GESTIÓN AMBIENTAL.pdfPresentación N° 1 INTRODUCCIÓN Y CONCEPTOS DE GESTIÓN AMBIENTAL.pdf
Presentación N° 1 INTRODUCCIÓN Y CONCEPTOS DE GESTIÓN AMBIENTAL.pdf
 
Sesión 02 TIPOS DE VALORIZACIONES CURSO Cersa
Sesión 02 TIPOS DE VALORIZACIONES CURSO CersaSesión 02 TIPOS DE VALORIZACIONES CURSO Cersa
Sesión 02 TIPOS DE VALORIZACIONES CURSO Cersa
 
Introducción a los sistemas neumaticos.ppt
Introducción a los sistemas neumaticos.pptIntroducción a los sistemas neumaticos.ppt
Introducción a los sistemas neumaticos.ppt
 
Magnetismo y electromagnetismo principios
Magnetismo y electromagnetismo principiosMagnetismo y electromagnetismo principios
Magnetismo y electromagnetismo principios
 
VALORIZACION Y LIQUIDACION MIGUEL SALINAS.pdf
VALORIZACION Y LIQUIDACION MIGUEL SALINAS.pdfVALORIZACION Y LIQUIDACION MIGUEL SALINAS.pdf
VALORIZACION Y LIQUIDACION MIGUEL SALINAS.pdf
 
El proyecto “ITC SE Lambayeque Norte 220 kV con seccionamiento de la LT 220 kV
El proyecto “ITC SE Lambayeque Norte 220 kV con seccionamiento de la LT 220 kVEl proyecto “ITC SE Lambayeque Norte 220 kV con seccionamiento de la LT 220 kV
El proyecto “ITC SE Lambayeque Norte 220 kV con seccionamiento de la LT 220 kV
 

INGENIERIA SISTEMAS

  • 1. ESCUELA DE INGENIERIA DE SISTEMAS Y TELEMATICA INTEGRANTES : • REYNA REYNAGA ASUNTA PATRICIA • RUIZ PLACENCIA LUZ VERONICA
  • 3. DEFINICION La interfaz PreparedStatement hereda de Statement y difiere de esta en dos maneras. Las instancias de PreparedStatement contienen una sentencia SQL que ya ha sido compilada. Esto es lo que hace que se le llame ‘preparada’. PreparedStatement tiene un grupo de métodos que fijan los valores de los parámetros IN, los cuales son enviados a la base de datos cuando se procesa la sentencia SQL.
  • 4. Son muy útiles cuando una sentencia SQL se ejecuta muchas veces cambiando sólo algunos valores. Se utiliza para enviar sentencias SQL pre compiladas con uno o más parámetros. Se crea un objeto PreparedStatement especificando la plantilla y los lugares donde irán los parámetros. Los parámetros son especificados después utilizando los métodos setXXX(.) indicando el número de parámetro y el dato a insertar en la sentencia. La sentencia SQL y los parámetros se envían a la base de datos cuando se llama al método: executeXXX()
  • 5. USO Cuando trabajamos con una base de datos es posible que haya sentencias SQL que tengamos que ejecutar varias veces durante la sesión, aunque sea con distintos parámetros. Por ejemplo, durante una sesión con base de datos podemos querer insertar varios registros en una tabla. mysql> INSERT INTO person VALUES (null, 23, 'Pedro', 'Perez'); mysql> INSERT INTO person VALUES (null, 33, 'Rodrigo', 'Rodriquez');
  • 6. El mecanismo que preven las bases de datos para hacer más eficiente este proceso es que le indiquemos, previamente, el tipo de sentencia que vamos a usar, de forma que la base de datos la "precompila" y la guarda en condiciones de ser ejecutada inmediatamente, sin necesidad de analizarla en cada caso. Esto es lo que se conoce como una prepared statement. En el caso de mysql, se haría de esta forma mysql> PREPARE insertar FROM "INSERT INTO person VALUES (null, ?, ?, ?)"; mysql> SET @edad=23; mysql> SET @nombre='Pedro'; mysql> SET @apellido='Perez'; mysql> EXECUTE insertar USING @edad,@nombre,@apellido mysql> SET @edad=33; mysql> SET @nombre='Rodrigo'; mysql> SET @apellido='Rodriguez'; mysql> EXECUTE insertar USING @edad,@nombre,@apellido; mysql> DEALLOCATE PREPARE insertar;
  • 7. Si tenemos una conexión a una base de datos y vamos a desplegar nuestro código por diferentes entornos será muy útil el utilizar propiedades de conexión JDBC. La idea es que en cada entorno de ejecución: desarrollo, implantación y producción es probable que tengamos información de acceso a la base de datos diferente. PROPIEDADES La idea es crear un fichero de propiedades. Para el ejemplo vamos a hacerlo directamente por código:
  • 8. atributos de configuración que esté esperando la base de datos. Por ejemplo si utilizamos una base de datos MySQL podemos encontrar algunos como:  jdbcCompliantTruncation, para forzar truncado de campos en inserción.  cachePrepStmts, cachear los PreparedStatement  enableQueryTimeouts, activar timeouts en la ejecución de las queries.  roundRobinLoadBalance, para balancear con nodos esclavos.  autoReconnect, para haver failover sobre un nodo esclavo. .
  • 9. EJEMPLO .//Creamos un objeto PreparedStatement desde el objeto Connection PreparedStatement ps = con.prepareStatement( "select * from Propietarios where DNI=? AND NOMBRE=? AND EDAD=?"); //Seteamos los datos al prepared statement de la siguiente forma: ps.setString(1, dni); ps.setString(2, nombre); ps.setInt(3, edad); //Ejecutamos el PreparedStatement, en este caso con executeQuery() ResultSet rs= ps.executeQuery();