3. java.sql.Connection Representa la conexión con la Base
de Datos. El encargado de abrir una conexión es el Driver
Manager mediante el método estático:
public static Connection getConnection(url, usr,
pwr)trows java.sql.SQLException
Donde:
url: Identificador de la Base de Datos
usr: Usuario con el que se abre la conexión (opcional)
pwr: Contraseña del Usuario (opcional)
4. OBJETO CONNECTION
El objeto Connection es el principal objeto utilizado
para proporcionar un vínculo entre las bases de datos
y una aplicación en Java. Connection proporciona
métodos para manejar el procesamiento de
transacciones, para crear objetos y ejecutar
instrucciones SQL, y para crear objetos para la
ejecución de procedimientos almacenados.
5. EJECUCIÓN DE CONSULTAS
Cuando se ejecutan sentencias SELECT usando el método
executeQuery(), se obtiene como respuesta un conjunto de resultados,
que en Java es representado por un objeto ResultSet.
Statement stmt = conn.createStatement();
ResultSet res = stmt.executeQuery("SELECT * FROM estudiante");
Se puede pensar en un conjunto de resultados como una tabla ( filas y
columnas ) en la que están los datos obtenidos por una sentencia SELECT.
6. PROPIEDADES:
•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
7. • Connection String
Especifica la referencia a la base de
datos con la cual queremos conectar,
conteniendo en una cadena de texto la
información necesaria para efectuar esa
conexión mediante parejas de valores
separadas por “ ; ”.
Los valores que podemos asignar son:
•Data Source: DNS=Nombre ODBC de la
Base de Datos
•Usuario: UID =Nombre de Usuario
•Password: PWD=Password del usuario
para la base de datos
•Ejemplo:
<%conexion.ConnectionString="DSN=
MIOdbc;UID=pepe;PWD=1234"%>
•Mode
Especifica los permisos de la conexión.Algunos
de los valores más habituales de la conexión son:
•Establece permiso solo de Lectura
•Establece permiso solo de escritura
•Establece permiso de Lectura /Escritura
Ejemplo:
<%conexion.Mode=3%>
BeginTrans
Abre una transacción; todas las operaciones que
realicemos a partir de ese momento no serán
efectivas hasta que no cerremos la transacción.
Ejemplo:
<%conexion.BeginTrans%>
Close
Cierra el Objeto
Ejemplo:
<%conexion.close%>
8. •CommitTrans
Cierra una transacción
haciendo efectivos los
cambios efectuados
dentro
de ella;
Ejemplo:
<%conexion.CommitTran
%>
•Execute
Ejecuta una sentencia
contra la base de datos.
Ejemplo
<%Set
resultado=conexión.exec
te(SELECT*FROM
Amigos)%>
•Open
Abre la conexión con los
parámetros especificados
en las propiedades.
Ejemplo
<%conexion.open%>
•RollBackTrans
Deshace todos los cambios
efectuados en la base de
datos desde el inicio
De la transacción.
Ejemplo:
<% conexion.RollBackTrans
%>
9. Un ejemplo básico de la conexión completo sería el siguiente.
import java.sql.Connection;
import java.sql.SQLException;
import java.sql.Statement;
import oracle.ucp.jdbc.PoolDataSourceFactory;
import oracle.ucp.jdbc.PoolDataSource;
public class BasicConnectionExample {
public static void main(String args[]) throws SQLException {
try
{
//Crea la instancia con el pool.
PoolDataSource pds = PoolDataSourceFactory.getPoolDataSource()
//introduce las condiciones de la conexión
pds.setConnectionFactoryClassName("oracle.jdbc.pool.OracleDataSource");
pds.setURL("jdbc:oracle:thin:@//localhost:1521/XE");
pds.setUser("<user>");
pds.setPassword("<password>");
10. //Pripiedades del pool.
pds.setInitialPoolSize(5);
//Obtener la conexión con la base de datos.
Connection conn = pds.getConnection();
System.out.println("nConnection obtained from " +
"UniversalConnectionPooln");
//se ejecutan las operaciones con las bases de datos
Statement stmt = conn.createStatement ();
stmt.execute("select * from foo");
//Se cierra la conexion.
conn.close();
conn=null
System.out.println("Connection returned to the " +
"UniversalConnectionPooln"); }
catch(SQLException e) {
System.out.println("BasicConnectionExample - " +
"main()-SQLException occurred : "
+ e.getMessage()); }
}
}